抱歉我的英语不好。如果我有一个数组:
const myobj = [
{
id: 1,
name: 'First...'
},
{
id: 2,
name: 'Second...
}];
如何删除id
2
对象?仅使用第一个对象保留数组。我应该使用哪些功能?提前谢谢。
找到解决方案:
function removeByKey(array, params){
array.some(function(item, index) {
if(array[index][params.key] === params.value){
array.splice(index, 1);
return true;
}
return false;
});
return array;
}
然后
removeByKey(myobj, {
key: 'id',
value: 2
})
http://jsforallof.us/2015/07/08/remove-object-by-key-from-array/
答案 0 :(得分:0)
使用Array.prototype.filter
根据提供的条件生成新数组。
const myobj = [{ id: 1, name: 'First...' }, { id: 2, name: 'Second...' }];
console.log(myobj.filter(v => v.id !== 2));
同样,您可以使用Array.prototype.reduce
const myobj = [{ id: 1, name: 'First...' }, { id: 2, name: 'Second...' }];
console.log(myobj.reduce((acc, v) => v.id !== 2 ? acc.concat(v) : acc, []));
答案 1 :(得分:0)
首先,你有一个数组,而不是myobj
中的一个对象,你可以做的很多方法就是通过过滤删除项目:
const myFilteredArray = myobj.filter(i => i.id !== 2);
请参阅javascript filter function