📜  删除数组中的对象 javascript (1)

📅  最后修改于: 2023-12-03 14:50:19.640000             🧑  作者: Mango

删除数组中的对象 - JavaScript

在 JavaScript 中删除数组中的对象,你需要使用 splice() 函数,该函数可以删除数组中指定位置的元素。举个例子,假设我有一个数组 myArray,其中包含以下几个对象:

var myArray = [
  {id: 1, name: 'John'},
  {id: 2, name: 'Jane'},
  {id: 3, name: 'Bob'},
  {id: 4, name: 'Amy'}
];

如果你想删除数组中 id 为 2 的对象,你可以使用 splice() 函数和 Array.prototype.findIndex() 方法来实现:

var index = myArray.findIndex(function(obj) {
  return obj.id === 2;
});

if (index !== -1) {
  myArray.splice(index, 1);
}

在上面的代码中,findIndex() 方法用于查找数组中 id 为 2 的对象的索引,如果找到了该对象,就使用 splice() 函数删除该对象。

如果你想删除数组中多个对象,你可以使用循环来实现:

var idsToDelete = [2, 3];

idsToDelete.forEach(function(id) {
  var index = myArray.findIndex(function(obj) {
    return obj.id === id;
  });

  if (index !== -1) {
    myArray.splice(index, 1);
  }
});

在上面的代码中,我使用 forEach() 方法来遍历要删除的 id 数组。然后,我在循环中使用相同的方法来查找数组中要删除的对象的索引,并使用 splice() 函数删除该对象。

总的来说,使用 splice() 函数是删除数组中对象的一种简单方法。虽然你还可以使用其他方法实现,但 splice() 函数的执行效率相对较高,所以我建议采用这种方法来操作数组。