gpt4 book ai didi

javascript - 如何根据对象辅助函数的键从数组中删除重复的对象?

转载 作者:行者123 更新时间:2023-12-01 00:26:02 25 4
gpt4 key购买 nike

我有一个对象数组和一个对象例如: arr=[{id:1,name:"foo"},{id:2,name:"bar"}] ,我的新对象是 obj={id: 1,name:"baz"}.我想根据数组中的键替换obj。预期输出是输出=[{id:1,name:"baz"},{id:2,name:"bar"}]我做了一些工作,如下所示:

function removeObjBasedID(arr, obj) {
let newArr = [];

arr.map((item, i) => {
if (item.id == obj.id) {

newArr.splice(i, 1);

} else {
newArr = [...arr, obj];

}
});

return newArr;
}

console.log(removeObjBasedID(arr, obj));


最佳答案

您可以迭代数组并更新(如果找到),或推送对象。

function update(array, object) {
for (let i = 0; i < array.length; i++) {
if (array[i].id !== object.id) continue;
array[i] = object;
return;
}
array.push(object);
}

var array = [{ id: 1, name: "foo" }, { id: 2, name: "bar" }],
object = { id: 1, name: "baz" };

update(array, object);

console.log(array);

关于javascript - 如何根据对象辅助函数的键从数组中删除重复的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com