我有一个带有几个对象数组的json。
{
"results":[{
"id_pk": "1",
"bookings": [{
"id": 1,
"id": 2,
}]
},{
"id_pk": "2",
"bookings": [{
"id": 3,
"id": 4,
}]
},{
"id_pk": "3",
"bookings": [{
"id": 5,
"id": 6,
}]
}]
}
我的目标是获得每个&#34; id_pk&#34;使用lodash的<。map()
我的代码看起来像这样。这是一个正确的格式如何获取id?
_.map(results, (r) => _.map(r.bookings, 'id') )
答案 0 :(得分:0)
您可以通过减少外部数组并映射id
id
数组来获取所有booking
值,并加入新对象的ID。
var data = { results: [{ id_pk: "1", bookings: [{ id: 1 }, { id: 2 }] }, { id_pk: "2", bookings: [{ id: 3 }, { id: 4 }] }, { id_pk: "3", bookings: [{ id: 5 }, { id: 6 }] }] },
ids = data.results.reduce((r, a, i) => (r[i] = a.bookings.map(b => b.id).join(), r), {});
console.log(ids);
&#13;