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

3

你想从数组中删除一个元素吗?使用 splice() 函数可以实现。 - Muhammad Usman
2
只需要翻转一下 - let person = people.filter(person => person.Name!== 'Bob')。过滤器仅返回对您的条件返回false的元素并忽略其他元素。 - Nathan Stockton
3个回答

13

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

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

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


这个也可以工作,因为上面的答案对我不起作用:people.splice(people.findIndex((foo) => foo.Name == "Bob"), 1); console.log(people) - snack overflow

4

要删除bob,只需要进行相反的等式检查。

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

要改变原始数组,您可以使用splice。
const index = people.findIndex(person => person.Name === 'Bob');
if (index > -1) {
   people.splice(index, 1);
}

抱歉,我的意思是从原始对象中删除,而不是移除。我想我是指删除。 - leblaireau
1
people = people.filter(person => person.Name !== 'Bob') ; - Nathan Stockton

1
  1. 查找对象中 name = "Bob" 的索引
  2. 使用 splice() 将其从数组中移除

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接