// 示例代码:合并两个数组对象
// 假设有两个数组对象
const array1 = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
];
const array2 = [
{ id: 2, age: 25 },
{ id: 3, name: 'Charlie', age: 30 }
];
// 合并函数
function mergeArrays(arr1, arr2) {
// 将 arr2 的元素添加到 arr1 中,如果有相同的 id,则合并对象
return arr1.map(item1 => {
const item2 = arr2.find(item => item.id === item1.id);
if (item2) {
return { ...item1, ...item2 }; // 合并对象
}
return item1;
}).concat(arr2.filter(item2 => !arr1.some(item1 => item1.id === item2.id))); // 添加 arr2 中独有的元素
}
// 调用合并函数
const mergedArray = mergeArrays(array1, array2);
console.log(mergedArray);
/*
输出结果:
[
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob', age: 25 },
{ id: 3, name: 'Charlie', age: 30 }
]
*/
// 解释说明:
// 1. `mergeArrays` 函数用于合并两个数组对象。
// 2. 首先通过 `map` 方法遍历 `arr1`,对于每个对象,在 `arr2` 中查找是否有相同 `id` 的对象。
// 3. 如果找到相同 `id` 的对象,则使用扩展运算符 `...` 合并两个对象。
// 4. 最后,使用 `filter` 和 `some` 方法将 `arr2` 中独有的对象添加到结果数组中。
上一篇:js 对象数组合并
下一篇:js 数组拷贝
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站