📜  基于对象属性javascript从对象数组中删除对象(1)

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

基于对象属性 JavaScript 从对象数组中删除对象

在 JavaScript 中,我们要从一个对象数组中删除一个对象时,需要识别该对象的唯一属性或属性组合进行匹配。我们可以使用一些内置的方法来轻松地操作对象数组。

以下是一个致力于删除对象的基于属性的 JavaScript 函数:

function deleteObjectFromArray(arr, objProp, objValue) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i][objProp] === objValue) {
      arr.splice(i, 1);
      i--;
    }
  }
  return arr;
}
参数说明

此函数接受三个参数:

  • arr - 包含对象的数组
  • objProp - 对象属性的名称,用于唯一标识对象。
  • objValue - 该属性的值,用于在数组中查找并删除对象。
函数说明

此函数遍历数组并查找给定属性与值匹配的对象。如果找到一个匹配,它使用内置的 splice 数组方法来删除该对象,最后让循环计数器倒退一位以避免跳过未检查的对象。

最后返回更新后的数组。

示例

以下是如何使用此函数并从数组中删除 id 为 2 的对象的示例:

let arr = [
  { id: 1, name: "John" },
  { id: 2, name: "Bob" },
  { id: 3, name: "Fred" }
];

deleteObjectFromArray(arr, "id", 2);

console.log(arr);

输出:[{ id: 1, name: "John" }, { id: 3, name: "Fred" }]

以上介绍了如何使用基于属性的 JavaScript 函数从对象数组中删除对象。