I want to Add/Replace the object
from array of objects
by testing some properties
against array object
替换
object if name and id matches
添加
object
到array if name and id does not match from array objects
我正在使用下面的代码,它工作正常但我不确定它是否是一个好的解决方案。
let arr = [{name: 'test1', id:1, data: {a:1} }, {name:'test2', id:2, data: {a:2}}]
let obj = {name:'test3', id:3, data: {a:3}}
let itemFound = false;
let newArr = arr.map((item)=>{
let test = item.name === obj.name && item.id === obj.id;
if(test){
itemFound = true;
}
return test ? obj : item;
});
if(!itemFound){
newArr.push(obj);
}
console.log(newArr)
原文由 Dipak Telangre 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果找到或推送对象,您可以查找索引并更新数组。