需要根据另一个数组过滤一个数组.是否有淘汰的实用功能?否则我需要使用
javascript
第一:
var obj1 = [{
"visible": "true","id": 1
},{
"visible": "true","id": 2
},"id": 3
},{
"Name": "Test3","id": 4
}];
第二:
var obj2 = [ 2,3]
现在我需要根据obj2过滤obj1并从obj1中返回上面数据中不在obj2 omittng 2,3中的项目(对象1 Id的比较)
输出:
[{
"visible": "true","id": 4
}];
解决方法
你可以简单地使用过滤器运行obj1并在obj2上使用indexOf来查看它是否存在.如果值不在数组中,则indexOf返回-1,并且当回调返回true时,filter包含该项.
var arr = obj1.filter(function(item){
return obj2.indexOf(item.id) === -1;
});