2015-05-31 34 views
0

我有以下JSON結構,我想提取有關特定團隊的所有信息,包括它屬於的部門。使用lodash提取兒童+父母詳細信息

{   
"teams":[    
{ 
    "divisionName":"5th Grade - Green", 
    "divisionTeams":[ 
     { 
      "id":3222, 
      "name":"Columbia Ravens 5th", 
      "coach":"John Miller" 
     }, 

     { 
      "id":3220, 
      "name":"HC Elite OMalley 5th", 
      "coach":"Eddie OMalley" 
     } 
    ] 
    }, 
    { 
    "divisionName":"5th Grade - White", 
    "divisionTeams":[ 
     { 
      "id":3225, 
      "name":"CBSA Hoyas 5th Grade", 
      "coach":"Terrance Taylor" 
     }, 
     { 
      "id":3276, 
      "name":"HC Elite 4th Tookes", 
      "coach":"Anthony Tookes" 
     }, 
    ] 
    } 

] }

我試着用以下lodash代碼,但它想出了爲未定義。

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

任何幫助,非常感謝。

+0

的可能的複製[使用lodash方法弄平查找JSON對象的值,並且找到](http://stackoverflow.com/questions/29090260/find-a-value-in-json-object-using- lodash的方法,扁平化和找到的) – colares

回答

3

您可以用find()some()來做你所需要的一切。沒有必要扁平化陣列。

_.find(teams, function(item) { 
    return _.some(item.divisionTeams, { id: 3222 }); 
});