繁体   English   中英

如何在 Javascript 中匹配搜索 object 的数组中过滤 object

[英]How to filter object within an array that matches search object in Javascript

我正在尝试过滤和删除数组中的对象,但是删除的对象比我希望的要多

const people = [
  {name: 'Adam', age: 30, country: 'USA'},
  {name: 'Carl', age: 30, country: 'UK'},
  {name: 'Bob', age: 40, country: 'China'},
 ];

const results = people.filter(element => {
  // 👇️ using AND (&&) operator
  return element.age !== 30 && element.name !== 'Carl';
});

console.log(results);

输出:

[ { name: 'Bob', age: 40, country: 'China' } ]

我希望只删除找到 Carl 的 object

我想要的 output 是

[ { name: 'Adam', age: 30, country: 'USA' }, { name: 'Bob', age: 40, country: 'China' } ]

如果您只需要移除 30yo Carls,则需要更新过滤条件

return !(element.age === 30 && element.name === 'Carl');

这等于

return element.age !== 30 || element.name !== 'Carl';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM