Object.assign()没有给出期望的输出

时间:2019-05-27 17:38:47

标签: javascript arrays node.js object ecmascript-6

我有两个数组:

first = [{a:1 ,b:2} , {a:3 , b:4}]

second = [{e:5 ,f:6} , {e:7 , f:8}]

我正在使用循环来获取所需的分配索引。 我有两个循环,以便找到正确的索引。

这是我使用的:

Object.assign(first[0] , second[0])

我得到的输出是{e:5 ,f:6}

我想要的是{a:1 ,b:2 , e:5 ,f:6}

1 个答案:

答案 0 :(得分:1)

它完美地工作-确保如果您不想修改原始对象,则将其分配给一个空对象并保存结果:

const first = [{a:1,b:2},{a:3,b:4}];
const second = [{e:5,f:6},{e:7,f:8}];
let res = [];
first.forEach((e, i) => res.push(Object.assign({}, e, second[i])));
console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }