代码示例:
let arr1 = [{id: 1, name: "Alice"}, {id: 2, name: "Bob"}]; let arr2 = [{id: 2, name: "Bob"}, {id: 3, name: "Charlie"}];
// 比较两个对象数组的键,原始数组应在JavaScript中进行变异 function compareAndMutate(arr1, arr2) { arr1.forEach((item1) => { let item2 = arr2.find((item) => item.id === item1.id); if (item2) { Object.keys(item1).forEach((key) => { if (item1[key] !== item2[key]) { item1[key] = item2[key]; } }); } }); }
compareAndMutate(arr1, arr2); console.log(arr1); // 输出 [{id: 1, name: "Alice"}, {id: 2, name: "Bob"}] 原数组已改变,name属性被更新为来自arr2的值