需要根据另一个数组过滤一个数组.是否有淘汰的实用功能?否则我需要使用
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; });