当我在console.log中时,我有几个看起来像这样的对象:
0: { 'school': {}, 'district': {}, 'children': {} }
1: { 'school': {}, 'district': {}, 'children': {} }
2: { 'school': {}, 'district': {}, 'children': {} }
和
0: { 'teacher': {}, 'name': {}, 'class': {} }
1: { 'teacher': {}, 'name': {}, 'class': {} }
我希望将这些对象组合起来,使它们变得像:
0: { 'school': {}, 'district': {}, 'children': {} }
1: { 'school': {}, 'district': {}, 'children': {} }
2: { 'school': {}, 'district': {}, 'children': {} }
3: { 'teacher': {}, 'name': {}, 'class': {} }
4: { 'teacher': {}, 'name': {}, 'class': {} }
但是当我使用Object.assign
这样的东西时,最后一个对象只会覆盖前一个对象,还有另一种方法吗?我基本上只想合并几个对象,并忽略它们的索引。
答案 0 :(得分:1)
看起来你拥有的是一个数组。
您可以使用点差运算符。
让我们分别调用您的两个数组arrayOne
和arrayTwo
。
代码如下:
const newArray = [...arrayOne, ...arrayTwo];
答案 1 :(得分:1)
你可以使用spread operator
const arr1 = [
{ 'school': {}, 'district': {}, 'children': {} },
{ 'school': {}, 'district': {}, 'children': {} },
{ 'school': {}, 'district': {}, 'children': {} }
]
const arr2 = [
{ 'teacher': {}, 'name': {}, 'class': {} },
{ 'teacher': {}, 'name': {}, 'class': {} }
]
const result = [...arr1, ...arr2]
console.log(result)

答案 2 :(得分:0)
var array1 = [{ 'school': {}, 'district': {}, 'children': {} },
{ 'school': {}, 'district': {}, 'children': {} },
{ 'school': {}, 'district': {}, 'children': {} }];
var array2 = [ { 'teacher': {}, 'name': {}, 'class': {} },
{ 'teacher': {}, 'name': {}, 'class': {} }];
while(array2.length>0){
array1.push(array2.shift());
}
console.log(array1);
答案 3 :(得分:0)
您可以连接对象的值并将数组分配给对象。
var obj1 = { 0: { 'school': {}, 'district': {}, 'children': {} }, 1: { 'school': {}, 'district': {}, 'children': {} }, 2: { 'school': {}, 'district': {}, 'children': {} } },
obj2 = { 0: { 'teacher': {}, 'name': {}, 'class': {} }, 1: { 'teacher': {}, 'name': {}, 'class': {} } };
obj3 = Object.assign({}, Object.values(obj1).concat(Object.values(obj2)));
console.log(obj3);
.as-console-wrapper { max-height: 100% !important; top: 0; }