📜  定位并删除数组中的对象 - Javascript (1)

📅  最后修改于: 2023-12-03 15:25:09.033000             🧑  作者: Mango

定位并删除数组中的对象 - JavaScript

在 JavaScript 中,我们可以使用 Array.prototype.filter() 方法来定位并删除数组中的对象。这个方法将返回一个新的数组,其中包含符合条件的元素。

用法
let newArray = oldArray.filter(callbackFunction);

其中,oldArray 是原数组,callbackFunction 是回调函数,用于测试每个元素是否符合条件。如果符合条件,就会将元素添加到新数组中。

示例

假设现在有一个人员名单数组,其中包含多个对象,每个对象都有一个 name 属性。我们想要从数组中删除名为 “Alex” 的对象。我们可以按照以下方式使用 Array.prototype.filter() 方法:

const persons = [
  { name: "John", age: 30 },
  { name: "Alex", age: 25 },
  { name: "Mary", age: 40 },
  { name: "Alex", age: 20 }
];

const filteredPersons = persons.filter((person) => {
  return person.name !== "Alex";
});

console.log(filteredPersons);
// [{name: "John", age: 30}, {name: "Mary", age: 40}]

在这个例子中,我们定义了一个回调函数,它将测试每个元素是否不等于 “Alex”。如果是,返回 true,否则返回 falsefilteredPersons 数组包含了所有不等于 “Alex” 的元素,名字为 John 和 Mary 的对象。

注意事项
  • Array.prototype.filter() 方法不会改变原数组,它将返回一个新数组。
  • 回调函数必须返回一个布尔值,用于确定是否保留元素。
  • 可以使用 Array.prototype.findIndex() 方法找到需要删除的元素的索引,然后使用 Array.prototype.splice() 方法删除它。