通过使用强score.js传递两个不同属性,验证JSON单个对象



每次都会传递一个JSON对象,但角色值会更改,我需要根据_.findWhere对象使用一个值来根据角色进行验证,但我希望在同一属性中具有两个不同角色的验证。

方案1

var people = [ 
            {"name": "ram", "RoleID": "2"}
        ];
var roleObj = _.findWhere(people , { RoleID: "2", RoleID: "4"});

方案2

var people = [ 
            {"name": "ram", "RoleID": "3"}
        ];
var roleObj = _.findWhere(people , { RoleID: "2", RoleID: "4"});

在方案2中,我不应该得到对象为什么为什么在没有角色3的acongon参数中。您可以告诉我可以使用哪个_.js对象或我需要更改输入第二个参数

注意:此问题是SQL Server中in运算符的方案,我们可以在单列中传递多个值。

您可以使用filter无需underscore。只需滤除那些没有出现在指定角色列表中的人:

var people = [{
  "name": "ram",
  "RoleId": "3"
}];
var peopleTwo = [{
  "name": "ram",
  "RoleId": "2"
}];
var getRoleFilterer = roles =>
  people =>
    people.filter(person => roles.indexOf(person.RoleId) > -1);
var roleFilterer = getRoleFilterer(["2", "4"]);
var results = roleFilterer(people);
var resultsTwo = roleFilterer(peopleTwo);
console.dir(results);
console.dir(resultsTwo);

最新更新