assignedRoles = ['User','InCharge'];
items = ['Admin','Supervisor','User', 'InCharge'];
我需要一个过滤器,它将返回assignRoles中的所有项目。
因此,在上面的示例中,过滤器将返回“User”和“InCharge”
这就是我的尝试:
return items.filter(a=> a.any(assignedRoles);
答案 0 :(得分:5)
使用indexOf()
var assignedRoles = ['User', 'InCharge'];
var items = ['Admin', 'Supervisor', 'User', 'InCharge'];
var answer = items.filter(function(item) {
return assignedRoles.indexOf(item) > -1;
});
console.log(answer);
答案 1 :(得分:0)
只需使用assignedRoles.indexOf() !== -1
(x !== -1
快于x > -1
和x >= 0
)
var assignedRoles = ['User', 'InCharge'];
var items = ['Admin', 'Supervisor', 'User', 'InCharge'];
var result = items.filter(function(item) {
return assignedRoles.indexOf(item) !== -1;
});
console.log(result);