javascript - 如何将两个或多个包含多个对象的数组合并为一个并增加它们的 ID?

标签 javascript arrays

我有三个像这样的对象数组

  const arr1 = [{id: 1, name: 'Jay'}, {id: 2, name: 'Kay'}];
    const arr2 = [{id: 1, name: 'Pete'}, {id: 2, name: 'Liam'}];
    const arr3 = [{id: 1, name: 'Baby'}, {id: 2, name: 'Neeson'},  {id: 3, name: 'Kobe'}];

我想将它们合并到一个像这样的数组中

const bigArray = [{id: 1, name: 'Jay'}, {id: 2, name: 'Kay'},{id: 3, name: 'Pete'}, {id: 4, name: 'Liam'}, {id: 5, name: 'Baby'}, {id: 6, name: 'Neeson'},  {id: 7, name: 'Kobe'}];

我知道我可以使用扩展运算符将它们扩展为单个数组,但我还需要在连接它们时递增 ID。我怎样才能做到这一点?

最佳答案

根据索引重新分配id:

 const merged = [...arr1, ...arr2, ...arr3];
 merged.forEach((el, index) => el.id = index + 1);

关于javascript - 如何将两个或多个包含多个对象的数组合并为一个并增加它们的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55080401/

相关文章:

jquery - 如何使用 jQuery 查找数组中的项目?

javascript - setTimeout 无法再次启动该功能

javascript - 浏览器后退按钮不会破坏 PassportJS + ExpressJS 中的 session 。如何完全终止/终止 session ?

php - 将数组元素插入数据库表时出现问题

javascript - AngularJS - 如何在不同的容器中使用 ng-repeat

java.lang.ClassCastException : [Ljava. lang.Object;不能转换为 [Ljava.lang.String;

arrays - VBA 停止使用临时范围

javascript - 如何将数据传递给iframe中的变量

javascript - 如何动态设置div标签的高度?

javascript - 使用 pattern 属性匹配输入字段中的多个特定值之一