我有以下两个数组:
SimpleArray = [2,3];
ObjectArray = [{
id: 1,
name: 'charles'
},{
id: 2,
name: 'john'
},{
id: 3,
name: 'allen'
},{
id: 4,
name: 'jack'
}];
我想删除ObjectArray
中存在的ID等于SimpleArray
中存在的值的对象。
答案 0 :(得分:0)
如果要删除原始数组中的数据,请使用 Array#splice()
方法
SimpleArray = [2, 3];
ObjectArray = [{
id: 1,
name: 'charles'
}, {
id: 2,
name: 'john'
}, {
id: 3,
name: 'alen'
}, {
id: 4,
name: 'jack'
}];
for (var i = 0; i < ObjectArray.length; i++) {
if (SimpleArray.indexOf(ObjectArray[i].id) > -1) {
ObjectArray.splice(i, 1);
i--;
}
}
console.log(ObjectArray);
&#13;
如果您需要生成新的过滤数组,请使用 Array#filter()
方法
SimpleArray = [2, 3];
ObjectArray = [{
id: 1,
name: 'charles'
}, {
id: 2,
name: 'john'
}, {
id: 3,
name: 'alen'
}, {
id: 4,
name: 'jack'
}];
var res = ObjectArray.filter(function(v) {
return SimpleArray.indexOf(v.id) > -1
})
console.log(res);
&#13;