根据成员属性从数组中删除元素

Delete element from array based on member properties

本文关键字:删除 元素 数组 成员 属性      更新时间:2024-05-16

说我的对象看起来像下面的

var jsonObj = [{
    "id":1,
    "name":"john"
  },
  {
    "id":2,
    "name":"john2"
  }
]

我想删除jsonObj.id等于1 的数组的成员

我该怎么做?

您可以将其作为

var newObj = jsonObj.filter(function(item) { 
   return item.id !== 1;  
});
console.log(newObj);

这样尝试。

 jsonObj.forEach(function(item,i){
   if(item.id == 1)
    jsonObj.splice(i,1);
})

作为替代方案,您也可以使用undercore.js过滤器拒绝

_.过滤器

jsonObj = _.filter(jsonObj, function(obj){ return obj.id != 1; });

结果=>[{"id":2,"name":"john2"}]

_.拒绝

jsonObj = _.reject(jsonObj, function(obj){ return obj.id == 1; });

结果=>[{"id":2,"name":"john2"}]