📅  最后修改于: 2023-12-03 15:23:39.696000             🧑  作者: Mango
在 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 函数从对象数组中删除对象。