【发布时间】:2019-04-05 23:33:44
【问题描述】:
我有两个对象数组。如何将它们组合/连接到一个对象数组中。
我尝试过使用 concat 函数以及遍历 arr2 并将它们推送到 arr1,但我想以更短的方式来代替。
let arr1 = [{
_id: 1,
external_id: '74341f74-9c79-49d5-9611-87ef9b6eb75f',
name: 'Francisca Rasmussen',
alias: 'Miss Coffey'
},
{ _id: 19,
external_id: '68e35e26-7b1f-46ec-a9e5-3edcbcf2aeb9',
name: 'Francis Rodrigüez',
alias: 'Mr Lea'
},
{ _id: 23,
external_id: 'e9db9277-af4a-4ca6-99e0-291c8a97623e',
name: 'Francis Bailey',
alias: 'Miss Singleton'
}];
let arr2 = [ { organizations: 'Multron', joining_key: 1 },
{ organizations: 'Bitrex', joining_key: 19 },
{ organizations: 'Enthaze', joining_key: 23 },
{ tickets: 'A Nuisance in Kiribati', joining_key: 1 },
{ tickets: 'A Nuisance in Saint Lucia', joining_key: 19 }
{ tickets: 'A Nuisance in Saint Kilda', joining_key: 19 }
]
我想根据 arr1 上的 _id 字段的 join_key 来连接它们,结果如下所示:
[{
_id: 1,
external_id: '74341f74-9c79-49d5-9611-87ef9b6eb75f',
name: 'Francisca Rasmussen',
alias: 'Miss Coffey',
organizations: 'Multron',
tickets: 'A Nuisance in Kiribati', joining_key: 1
},
{ _id: 19,
external_id: '68e35e26-7b1f-46ec-a9e5-3edcbcf2aeb9',
name: 'Francis Rodrigüez',
alias: 'Mr Lea',
organizations: 'Bitrex',
tickets: 'A Nuisance in Saint Lucia',
tickets: 'A Nuisance in Saint Kilda'
},
{ _id: 23,
external_id: 'e9db9277-af4a-4ca6-99e0-291c8a97623e',
name: 'Francis Bailey',
alias: 'Miss Singleton',
organizations: 'Enthaze'
}]
【问题讨论】:
-
如果数组包含额外的对象会怎样?
-
非常不清楚为什么
arr1是一个数组而不是单个对象,如果数组有另一个对象会发生什么。 -
@Amy 如果 arr2 包含任何其他对象,它们都将合并到 arr1。例如:如果 arr2 包含ticket_3,则结果对象中也将包含ticket_3
-
@MarkMeyer 啊,我现在明白了。我在精神上将它们结合在一起。
-
@shadoe2020 OP 没有尝试连接两个数组。你的答案不正确。