【问题标题】:Merge two array of objects into single array of objects in JavaScript? [closed]在JavaScript中将两个对象数组合并为单个对象数组? [关闭]
【发布时间】:2019-07-23 15:22:54
【问题描述】:

我有两个数组如下

 var arr1 = [
  {
    name: "abc"
  },
   {
    name: "xyz"
  }
  ];

var arr2 = [
  {
    age: 18
  },
   {
    age: 21
  }
 ];

我希望上面的数组像下面一样合并

arr3 =  [
  {
    name:"abc",
    age: 18
  },
   {
    name:"xyz",
    age: 21
  }
 ];

我们强烈鼓励任何帮助

【问题讨论】:

  • 你有没有尝试过?
  • 这是一个相当简单的操作,使用了多种不同的循环方法。显示您尝试过但不起作用的方法
  • 是的,我试过了,但没有得到我真正需要的东西,我也在互联网上搜索过,但找不到类似的东西。
  • 然后向我们展示您的尝试。此处的目标是帮助修复您的代码,而不是为您编写所有代码

标签: javascript


【解决方案1】:

如果您只有两个数组,则可以使用对象扩展运算符执行以下操作:

function combine(arr1, arr2) {
  return arr1.map((obj, idx) => ({
    ...obj,
    ...arr2[idx]
  }));
}

var arr1 = [
  {
    name: "abc"
  },
   {
    name: "xyz"
  }
];

var arr2 = [
  {
    age: 18
  },
   {
    age: 21
  }
];

console.log(combine(arr1, arr2));

如果您使用的是 lodash,您可以使用 _.merge 轻松做到这一点:

var arr1 = [
  {
    name: "abc"
  },
   {
    name: "xyz"
  }
];

var arr2 = [
  {
    age: 18
  },
   {
    age: 21
  }
];
 
console.log(_.merge(arr1, arr2));
<script src="https://unpkg.com/lodash@4.17.15/lodash.min.js"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 2022-11-08
    相关资源
    最近更新 更多