使用 lodash 方法在 json 对象中查找值 扁平化并查找



使用 lodash,我想找到一个 id 为 3229 的团队。我尝试跟随,但它没有返回任何内容。

    var team = _.chain(data.teams)
        .flatten("divisionTeams")
        .find({"id":3229})
        .value();

这是我的 plunker 代码。

http://plnkr.co/edit/UDwzRkX3zkYjyf8UwO7I

有关 Json 数据,请参阅 Plunker 中的文件数据.js。

请注意,由于我正在调用测试 api,因此我无法更改 json 数据。

flatten不接受

该论点,请参阅文档。您需要mappluck divisionTeams

_.chain(data.teams)
.pluck('divisionTeams')
.flatten()
.find({id: 3232})
.value();

因此,如果要求只使用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; }));

最新更新