node中怎么合并两个数组中的对象

将数组一中的添加到数组二中

数组一: [{id:1, age:18 },{id:2, age:28 }]

数组二: [{id:1, name:"小明"},{id:2, name:"小花"}]

最终合并成:[{id:1, name:"小明",age:18},{id:2, name:"小花",age:28}]

【以下回答由 GPT 生成】

要在Node.js中合并两个数组中的对象,可以按以下步骤进行:

  1. 首先,创建两个数组,用于存储原始数据和要合并的数据。假设这两个数组分别为array1array2
const array1 = [{id: 1, age: 18}, {id: 2, age: 28}];
const array2 = [{id: 1, name: "小明"}, {id: 2, name: "小花"}];
  1. 创建一个循环,遍历要合并的数组中的对象。
for (let i = 0; i < array2.length; i++) {
  // 在循环中获取当前对象的id值
  const id = array2[i].id;

  // 创建一个变量,用于存储当前对象在第一个数组中的索引值
  let index = -1;

  // 使用findIndex()方法在第一个数组中查找当前id的对象
  array1.findIndex((obj, idx) => {
    if (obj.id === id) {
      index = idx;
      return true;
    }
  });

  // 如果在第一个数组中找到了相同id的对象,将两个对象进行合并
  if (index !== -1) {
    array1[index] = {...array1[index], ...array2[i]};
  }
}
  1. 最后,得到合并后的数组,即array1
console.log(array1);

完整代码如下:

const array1 = [{id: 1, age: 18}, {id: 2, age: 28}];
const array2 = [{id: 1, name: "小明"}, {id: 2, name: "小花"}];

for (let i = 0; i < array2.length; i++) {
  const id = array2[i].id;
  let index = -1;
  array1.findIndex((obj, idx) => {
    if (obj.id === id) {
      index = idx;
      return true;
    }
  });
  if (index !== -1) {
    array1[index] = {...array1[index], ...array2[i]};
  }
}

console.log(array1);

这样就能够实现在Node.js中将一个数组的对象合并到另一个数组中的功能。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^