每次传递一个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中我不应该得到对象为什么因为在scound参数中没有角色3.你能告诉我可以使用哪个_.js对象或者我需要更改输入第二个参数
注意:这个问题是sql server中in
运算符的情况,我们可以在单列中传递多个值。
你可以使用underscore
在没有filter
的情况下做到这一点。只需过滤掉那些角色未出现在指定角色列表中的人:
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);