使用lodash我想找一个ID为3229的团队。我试过跟随但是没有返回任何东西。
var team = _.chain(data.teams)
.flatten("divisionTeams")
.find({"id":3229})
.value();
这是我的plunker代码。
http://plnkr.co/edit/UDwzRkX3zkYjyf8UwO7I
有关Json数据,请参阅Plunker中的文件data.js。
请注意我无法更改json数据,因为我正在调用测试API。
答案 0 :(得分:8)
flatten
没有采用该论点,请参阅docs。您需要map
或pluck
divisionTeams
。
_.chain(data.teams)
.pluck('divisionTeams')
.flatten()
.find({id: 3232})
.value();
答案 1 :(得分:0)
因此,如果要求仅使用flatten,find和lodash,那将会很困难。但是使用for循环来获得分部团队可能就是你所要求的。
var teams = [];
for(var e of data.teams) {
teams.push(e.divisionTeams);
}
var blah = _.flatten(teams, true);
console.log(_.find(blah, function(item) { return item.id == 3222; }));