Javascript lodash映射多个对象数组
我有一个包含多个对象数组的jsonJavascript lodash映射多个对象数组,javascript,ecmascript-6,lodash,Javascript,Ecmascript 6,Lodash,我有一个包含多个对象数组的json { "results":[{ "id_pk": "1", "bookings": [{ "id": 1, "id": 2, }] },{ "id_pk": "2", "bookings": [{ "id": 3, "id": 4, }] },{ "id_pk": "3", "bookings": [{ "id": 5,
{
"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,
}]
}]
}
我的目标是使用lodash的u.map()获得每个“id_pk”的id
我的代码是这样的。这是正确的格式吗?如何获取id
_.map(results, (r) => _.map(r.bookings, 'id') )
通过减少外部数组并映射
booking
array的所有id
,并加入新对象的id,可以获得所有id
值
var data={results:[{id:1},{id:2}},{id:2},{id:3},{id:4}},{id\u-pk:“3”,预订:[{id:5},{id:6}]},
ids=data.results.reduce((r,a,i)=>(r[i]=a.bookings.map(b=>b.id.join(),r),{});
控制台日志(ids)代码>有效吗?你得到了什么结果?我现在得到的这种结果,我的目标是像这样,或者使用0:1,2 | 1:3,4 | 2:5,6 |逗号。在json中有输入错误:{“id”:1,“id”:2}不是有效对象。第一个图像是无用的。请在问题中以文本形式提供所需输出。另外,result
不是一个变量,而是一个属性。因此,请显示输入和代码之间的连接。