2014-11-06 74 views
1

我之前問過這個問題,需要一些更多的幫助。骨幹集合獲取對象 - 第2部分

問題:Backbone Collection get Object

我的問題是答案只給我回數組中的第一個對象。我將如何回到他們所有的人。

好看多了,我會怎麼走:

{ 
    "id" : "section-one", 
    "href" : "section-one-baseball", 
    "divisions" : [ 
    { 
     "name": "Orioles", 
     "division" : "AL East" 
    } 
    ] 
} 

,然後我得到的幫助能夠從部門這樣得到的名字:

BaseballTeams.models[0].get("divisions.name") 

現在我需要做的是能夠從這樣的事情中得到多個名字:

{ 
"id" : "section-one", 
"href" : "section-one-baseball", 
"divisions" : [ 
    { 
    "name": "Orioles", 
    "division" : "AL East" 
    }, 
    { 
    "name": "Yankees", 
    "division": "AL East" 
    ] 
} 

因此,我不想只是第一個,以便能夠從各部門獲得所有人員。

我得到的結果使用下劃線_.each來檢索它們。

預先感謝您的幫助

回答

0

我知道這已經回答了,但只是添加另一種選擇,強調對眼前這個用例,要摘下從列表屬性的pluck方法。你向它提供了列表,然後提取你想要提取的屬性的名稱。然後它會從列表中的每個項目返回一個屬性數組。

divisions = [{ 
 
    name: "Orioles", 
 
    division: "AL East" 
 
    }, { 
 
    name: "Yankees", 
 
    division: "AL East" 
 
    } 
 
] 
 

 

 
divisionNames = _.pluck(divisions, "name"); 
 

 
console.log(divisionNames);
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>

+0

我不得不採取這一個。這很好,一旦我使用它,它使得我更容易得到我需要的東西。即使在我選擇了答案之後,感謝您發帖。 – pertrai1 2014-11-07 13:11:09

0

既然你正試圖以檢索部門多個項目,你可以用下面的訪問:

BaseballTeams.models[0].get("divisions")

隨着_.each,你能要獲取divisions數組中的所有項目,請在該特定項目上執行某種功能,但是,_.each完成後不會返回任何內容。你想要使用的是_.map,因爲它會返回你正在迭代的新數組。

來源:Underscore.js - each & map

+0

謝謝你這麼多 – pertrai1 2014-11-06 16:55:00