- 遍历数组,检查每个对象是否与您要替换的对象相同。
- 如果找到匹配的对象,用新对象替换它。
- 如果没有找到匹配的对象,将新对象添加到数组中。
function replaceOrAddObject(array, replacementObject) {
let objectFound = false;
// 遍历数组
for (let i = 0; i < array.length; i++) {
// 检查是否有匹配的对象
if (array[i].id === replacementObject.id) { // 假设对象有一个唯一的属性"id"
// 找到匹配的对象,用新对象替换
array[i] = replacementObject;
objectFound = true;
break;
}
}
// 如果没有找到匹配的对象,添加新对象到数组
if (!objectFound) {
array.push(replacementObject);
}
return array;
}
对象数组myArray中的第二个对象将被替换为replacementObject,因为它们具有相同的id属性。输出将是更新后的数组,其中第二个对象已被替换。如果replacementObject的id属性与数组中的任何对象都不匹配,则该对象将被添加到数组末尾。
let myArray = [
{ id: 1, name: "Object 1" },
{ id: 2, name: "Object 2" },
{ id: 3, name: "Object 3" }
];
let replacementObject = { id: 2, name: "Updated Object 2" };
let updatedArray = replaceOrAddObject(myArray, replacementObject);
console.log(updatedArray);