如何根据属性值从数组中删除所有对象?
function removeByKey(array, fieldName){
array.some(function(item, index) {
return (array[index].name === fieldName) ? !!(array.splice(index, 1)) : false;
});
return array;
}
const myarr = [
{
name: 'foo',
school: 'hoo'
},{
name: 'foo',
school: 'xooo'
},{
name: 'bar',
school: 'xooo'
}
];
console.log(removeByKey(myarr, 'foo'))
在上面的代码中,它只是删除了一个对象。如果匹配,我如何删除所有内容?
为什么不使用filter
MDN?
const myarr = [
{
name: 'foo',
school: 'hoo'
},{
name: 'foo',
school: 'xooo'
},{
name: 'bar',
school: 'xooo'
}
];
const filteredArray = myarr.filter(obj => obj.name !== 'foo');
示例:https : //repl.it/repls/SimultaneousSentimentalForms
编辑以匹配评论。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句