如何获取不存在另一个数组的所有数组项?
我有一个已选择值的数组:
var selectedList = [1,2];
另一个包含对象列表的数组,如
var objList = [{Value:1, Name:'KL'},{Value:2, Name:'XYZ'},{Value:3, Name:'ABC'}];
我希望结果是对ObjList数组的值字段进行过滤,并且只有那些在selectedList中不存在的记录。
答案 0 :(得分:1)
你可以使用简单的过滤器来做到这一点
var selectedList = [1, 2];
var objList = [{
Value: 1,
Name: 'KL'
}, {
Value: 2,
Name: 'XYZ'
}, {
Value: 3,
Name: 'ABC'
}];
var data = objList.filter(x => selectedList.indexOf(x.Value) != -1)
console.log(data)
答案 1 :(得分:0)
您可以尝试:
var bigArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var smallArray = ['b', 'c', 'g'];
var newArray = bigArray.filter( function(item) {
return smallArray.indexOf(item) < 0;
});
或使用underscore.js
使用.difference()