可以使用 JavaScript 的高阶函数 Array.prototype.map() 和 Array.prototype.find() 来实现。首先,需要遍历一个对象数组,并为每个对象找到相应的 ID,接着在另一个对象数组中查找具有相同 ID 的对象,最后将匹配项的键值对添加到第一个数组的对象中。
示例代码:
const array1 = [ { id: 1, name: 'John' }, { id: 2, name: 'Smith' }, { id: 3, name: 'Peter' } ];
const array2 = [ { id: 1, age: 20 }, { id: 3, age: 25 } ];
const mergeArrays = (arr1, arr2) => { return arr1.map(obj1 => { const obj2 = arr2.find(obj2 => obj2.id === obj1.id); return obj2 ? { ...obj1, ...obj2 } : obj1; }); };
const mergedArray = mergeArrays(array1, array2); console.log(mergedArray);
// Output: // [ // { id: 1, name: 'John', age: 20 }, // { id: 2, name: 'Smith' }, // { id: 3, name: 'Peter', age: 25 } // ]