首页 > 解决方案 > 如何合并2个对象数组?

问题描述

我有2个对象数组的以下代码,我喜欢它应该合并的方式是:

let arrofObj1 = [
  {
    apple: 17,
    mango: 15,
  },
  {
    apple: 20,
    mango: 29,
  },
];

let arrofObj2 = [
  {
    banana: 60,
    pear: 19,
  },
  {
    banana: 50,
    pear: 39,
  },
];

let outPutIwant = [
  {
    apple: 17,
    mango: 15,
    banana: 60,
    pear: 19,
  },
  {
    apple: 20,
    mango: 29,
    banana: 50,
    pear: 39,
  },
];


注意:在添加之前,每个数组中可能有超过 2 个对象,但这是我希望它们添加的方式。谁能告诉我我该怎么做?提前致谢

标签: javascript

解决方案


你可以像这样创建一个函数。请注意,此函数假定您的两个数组各自包含相同数量的对象。

var arrofObj1 = [
  {
    apple: 17,
    mango: 15,
  },
  {
    apple: 20,
    mango: 29,
  },
];

var arrofObj2 = [
  {
    banana: 60,
    pear: 19,
  },
  {
    banana: 50,
    pear: 39,
  },
];


function mergeByPosition(arr1, arr2) {
    let arrResult = [];
    for(let i = 0; i < arr1.length; i++) {
        const objResult = { ...arr1[i], ...arr2[i] };
        arrResult.push(objResult);
    }
    return arrResult;
}

console.log(mergeByPosition(arrofObj1, arrofObj2));


推荐阅读