首页 > 解决方案 > 将两个数组合并为一个结果数组

问题描述

let array1 = [{name:"ABC",add:"XYZ"},{name:"PQR",add:"CCC"}];

let array2 = [1,2]

我希望输出是

array1=[{name:"ABC",add:"XYZ",num:1},{name:"PQR",add:"CCC",num:2}];

而且我还想知道我的 array2 是否也是具有奇怪键名的对象数组,但在结果数组中我想要一个好的键名,例如

let array1 = [{name:"ABC",add:"XYZ"},{name:"PQR",add:"CCC"}];

let array2=[{weirdKey:1},{weirdKey:2}];

但结果数组会像

array1=[{name:"ABC",add:"XYZ",num:1},{name:"PQR",add:"CCC",num:2}];

标签: javascriptarraysangular

解决方案


您可以执行以下操作(假设两个数组的长度相同):

array1 = array1.map((el, i) => {
    el.num = array2[i];
    return el;
});

编辑:对于您的第二种情况,如果您不确定weirdKey将是什么,您可以执行以下操作:

array1 = array1.map((el, i) => {
    el.num = Object.values(array2[i])[0];
    return el;
});

推荐阅读