我有以下变量:
var data = [{id: '1', name: 'demo1'}, {id: '2', name: 'demo2'}, {id: '3', name: 'demo3'}]
现在我有另一个 id
列表,
var lookFor = ["2", "3"];
现在,我如何从 data
中删除 id
在 id
的 lookFor
数组中不可用的对象>s.
我尝试了以下
_.filter(data, function(item) {
return _.contains(lookFor, 'id');
});
还有其他办法吗?
最佳答案
嗯,考虑以下几点?
var data = [{id: '1', name: 'demo1'}, {id: '2', name: 'demo2'}, {id: '3', name: 'demo3'}];
var keys = ["2", "3"];
let filteredArray = data.filter(element => keys.indexOf(element.id) != -1);
console.log(filteredArray);
// Output is now
// 0: {id: "2", name: "demo2"}
// 1: {id: "3", name: "demo3"}
使用这个得到相反的结果:
let filteredArray = data.filter(element => keys.indexOf(element.id) == -1);
console.log(filteredArray);
// Output is:
// 0: {id: "1", name: "demo1"}
这是你想要的吗?
祝你有美好的一天,埃利亚斯
关于javascript - 如果其中一个属性包含特定值,则删除数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52429861/