function addObject(arr, obj) {
let exists = false;
arr.forEach(item => {
if (item.property === obj.property) {
exists = true;
return;
}
});
if (!exists) {
arr.push(obj);
}
}
function updateObject(arr, obj) {
arr.forEach(item => {
if (item.property === obj.property) {
Object.assign(item, obj);
return;
}
});
}
function removeObject(arr, obj) {
for (let i = 0; i < arr.length; i++) {
if (arr[i].property === obj.property) {
arr.splice(i, 1);
break;
}
}
}
示例:
let arr = [
{ name: 'apple', price: 2 },
{ name: 'banana', price: 3 },
{ name: 'orange', price: 4 }
];
// 添加对象
addObject(arr, {name: 'grape', price: 5});
console.log(arr); // [{name: 'apple', price: 2}, {name: 'banana', price: 3}, {name: 'orange', price: 4}, {name: 'grape', price: 5}]
// 更新对象
updateObject(arr, { name: 'banana', price: 6 });
console.log(arr); // [{ name: 'apple', price: 2}, {name: 'banana', price: 6}, { name: 'orange', price: 4}, { name: 'grape', price: 5}]
// 删除对象
removeObject(arr, { name: 'orange', price: 4 });
console.log(arr); // [{ name: 'apple', price: 2}, { name: 'banana', price: 6}, { name: 'grape', price: 5}]