我有一个嵌套的JSON对象,看起来类似于:
{
"data": {
"periods": [
{
"number": 0,
"halfs": [
{
"half": 1,
"events": [
{
"event": "abc"
....
},
{
"event": "xyz"
...
}
]
},
{
"half": 2,
"events": [
{
"event": "abc"
....
},
{
"event": "xyz"
...
}
]
}
]
},
{
"number": 2,
"halfs": [
{
"half": 1,
"events": [
{
"event": "abc"
....
},
{
"event": "xyz"
...
}
]
}
]
}
]
}
}
我正在尝试使用lodash来拉取所有事件对象(事件:abc,event:xyz)对象。我知道我可以使用.get(jsonObj,'periods [1] .halfs [0] .events'));得到他的数据,但这需要我循环N次。有没有办法可以用最少的循环获得所有对象?
答案 0 :(得分:3)
没有_.flatMap:
q=title:BLÅBÆRISOMMEREN~1
对于4.0.0及更高版本:
var events = _.flatten(_.map(data.periods,function(p){
return _.flatten(_.map(p.halfs,function(h){
return h.events;
}));
}));