2016-07-07 57 views
0

骨幹文檔說這 -Backbone中的集合/有序集合的數據結構是什麼?

集合是有序的模型集。

但究竟是一個有序集?我知道它是一個對象,但我不明白的數據結構,因爲它的按鍵,例如一種對象 -

Object.keys(exampleCollection 
//returns ["length", "models", "_byId", "currentSort", "fetched", "_listenerId", "_events", "comparator"] 

但你可以叫陣列功能上它像MAP-

exampleCollection.map(function (mod) {console.log(mod)}) 
//displays 3 models 
+0

一個集合以兩種方式存儲模型。嘗試一個集合的console.log,你會看到一個_byId對象,它是由你在收集類中設置ID的任何東西定義的,還有一個模型數組。 – curtainrising

回答

1

底層數據結構是一個數組。大多數Backbone.Collection方法在this.models上運行,這是一個數組。關於Backbone的好處是可以很容易地打開它並查看引擎蓋下的內容 - 尤其是它們的annotated source

+0

所以它是一個obj(散列),它擁有一個數組?當你調用對象的方法時,它會知道在它的數組屬性上調用它? – akantoword

+0

只有某些方法,主要是下劃線方法。查看骨幹網站,這很清楚。 –