如果目标对象属性存在于数组中,我正在寻找从数组中删除所有元素的方法。
var msg={name:'tar', type:'SR'}; //want to delete all object with type=SR
var items= [{name:'oh', type:'SR'},{name:'em', type:'PR'},
{name:'ge', type:'MR'},{name:'ohoo', type:'SR'}];
items.splice( items.indexOf(msg.type), 1 );
这样只删除一个对象。有人可以建议一个更好的方法,不使用循环我可以删除数组
中的所有目标对象答案 0 :(得分:7)
您可以尝试以下内容
items = items.filter(function(item){
return item.type !== msg.type;
});
答案 1 :(得分:2)
有点功能,已经完成了:
var result = items.filter(function(item){
return (item.type == msg.type) ? false : true;
});