我想从数组中删除与数组id
匹配的对象,就像这个
var report = [{ id:1, title: "title 1"},{ id:2, title: "title 2"},{ id:3, title: "title 3"},{ id:4, title: "title 4"},{ id:5, title: "title 5"}];
var array = [1,2,3];
我只想删除数组中匹配的对象。我期望的结果就像
var report = [{ id:4, title: "title 4"},{ id:5, title: "title 5"}];
我在.splice.
上使用了.forEach
方法,但似乎并没有那么好用。
任何帮助将不胜感激:)
答案 0 :(得分:0)
您可以使用filter()
和indexOf()
var report = [{ id:1, title: "title 1"},{ id:2, title: "title 2"},{ id:3, title: "title 3"},{ id:4, title: "title 4"},{ id:5, title: "title 5"}];
var array = [1,2,3];
var result = report.filter(function(e) {
return array.indexOf(e.id) == -1;
})
console.log(result)

答案 1 :(得分:0)
var report = [{ id:1, title: "title 1"},{ id:2, title: "title 2"},{ id:3, title:"title 3"},{ id:4, title: "title 4"},{ id:5, title: "title 5"}];
var array = [1,2,3];
var newReport = report.filter(function(item){
return array.indexOf(item.id) == -1;
})