【发布时间】:2018-09-21 23:21:09
【问题描述】:
我正在尝试有条件地将来自两个 http 请求的数据合并到一个对象中。请考虑这些对象。
vehicles: [
{
vId: 1,
color: 'green',
passengers: [
{
name: 'Joe',
age: 22
},
{
name: 'Jack',
age: 32
}
]
}
more vehicles....]
pDetails: [
{
vId: 1,
detail: tall
},
{
vId: 1,
detail: 'fat'
},
{
vId 2,
detail: 'sad'
} more details.....
]
两个对象之间的 vId 匹配我想将 pDetails 对象推送到车辆数组中匹配对象的新数组中。我正在使用 Angular 5、TS 并将 Lodash 添加到我的项目中。我对如何遍历嵌套数组感到困惑。我是 JS 新手,对 api 还不是很熟悉。 TS、ES6、Angular 或 Lodash 中有什么东西可以让这更容易吗?
这是我目前为止最接近的:
this.getVehicles().subscribe(
data => { v = data.result.objects },
err => console.error(err),
() => Object.keys(v).forEach(key => {
console.log(v[key]); //mapping logic here
})
这成功地遍历了车辆数组,但我想我想做的是整合每个 v.passenger 对象,并为每个对象在 pDetails 数组上进行搜索,复制匹配项,推送到临时数组,然后分配给 v .乘客。我仍然无法弄清楚如何迭代每辆车的乘客数组。
【问题讨论】:
-
你有没有尝试过什么?如果是这样,请分享。
-
这应该对您有所帮助。 stackoverflow.com/questions/921789/…
标签: javascript angular typescript ecmascript-6 lodash