Javascript-通过键值从数组中删除对象

时间:2018-08-07 10:17:11

标签: javascript arrays object

我有一个对象数组

let people = [{

  Name: 'Bob',

  Age: '45',
},
{
  Name: 'Jim',

  Age: '45',
}

];

let person = people.filter(person => person.Name=== 'Bob') 

这将返回Bob,但是如何删除他?

这似乎只是删除属性

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete

所以看来我需要索引,或者也许有更好的ES6方法?

4 个答案:

答案 0 :(得分:2)

您可以使用splicefindIndex方法并从数组中删除特定对象。

let people = [{"Name":"Bob","Age":"45"},{"Name":"Jim","Age":"45"}]

people.splice(people.findIndex(({Name}) => Name == "Bob"), 1);
console.log(people)

答案 1 :(得分:1)

要删除鲍勃,只需执行相反的相等性检查

let person = people.filter(person => person.Name !== 'Bob') 

答案 2 :(得分:1)

  1. name = "Bob"
  2. 处找到对象的索引
  3. 使用splice()
  4. 从数组中删除它
  

people.splice(people.findIndex(({{Name})=> Name ==“ Bob”),1);

答案 3 :(得分:0)

您可以使用这样的过滤器

people = people.filter(function( obj ) {
return obj.Name !== 'Bob';});