Javascript |使用Object.assign()合并两个对象数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript |使用Object.assign()合并两个对象数组?相关的知识,希望对你有一定的参考价值。
我不太确定为什么Object.assign()无法提供预期的结果(请参阅底部的注释掉的部分)。我是否缺少该功能的某些内容,或者有更清洁的方法来执行此操作?
下面的代码使用变量“ i”到达for循环,但是没有使用变量“ x”到达第二个for循环。
const array_1 = [{property1:'a', property2:'b'}, {property1:'c', property2:'d'}];
const array_2 = [{property3:'w', property4:'x'}, {property3:'y', property4:'z'}];
const CombineArrays = (array_1, array_2) => {
let combined_array = [];
for (let i = 0; i < array_1.length; i++) {
for (let x = 0; x < array_2; x++) {
const newObj = Object.assign(array_1[i], array_2[x]);
combined_array.push(newObj);
}
}
return combined_array;
};
const result = CombineArrays(array_1, array_2);
console.log(result);
// expected result = [
// {property1:'a', property2:'b', property3:'w', property4:'x'},
// {property1:'a', property2:'b', property3:'y', property4:'z'},
// {property1:'c', property2:'d', property3:'w', property4:'x'},
// {property1:'c', property2:'d', property3:'y', property4:'z'}
// ]
// actual result = []
答案
您可以改用concat
方法。
const array_1 = [{property1:'a', property2:'b'}, {property1:'c', property2:'d'}];
const array_2 = [{property3:'w', property4:'x'}, {property3:'y', property4:'z'}];
const result = array_1.concat(array_2);
console.log(result)
以上是关于Javascript |使用Object.assign()合并两个对象数组?的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 使用JavaScript更改CSS(JavaScript)
JavaScript 在HTML中使用 JavaScript
使用 javascript 确定 javascript 中的堆栈深度