在Ruby和Java中,您將一個對象與另一個對象進行比較,並根據這兩個對象的順序返回一個數字。 Backbone has support僅基於單個對象進行排序。爲什麼Backbone比較器不能比較兩個對象?
這似乎是反主動和更復雜的。爲什麼Backbone會這樣做?使用這種技術有優勢嗎?
在Ruby和Java中,您將一個對象與另一個對象進行比較,並根據這兩個對象的順序返回一個數字。 Backbone has support僅基於單個對象進行排序。爲什麼Backbone比較器不能比較兩個對象?
這似乎是反主動和更復雜的。爲什麼Backbone會這樣做?使用這種技術有優勢嗎?
從the docs:
比較器功能可以被定義爲無論是sortBy(通過一個函數,一個參數),或者作爲一種(傳遞需要兩個參數的比較器功能)。
這意味着,你可以實現在傳統方式Comparator
:有兩個參數的行爲類似本地JavaScript sort
功能陣列功能。
骨幹只是增加了另一種排序從underscore借來的收藏。
您是否介意澄清「完全基於單個對象」的含義?我得到的印象是您在Backbone中提到的比較器機制,但單從上下文無法確定。 – Gabriel 2012-08-17 17:33:33
如果您創建了一個採用單個參數的比較器函數,那麼您將其寫入,以便返回可與標準比較運算符進行比較的值'<' and '>' – jackwanders 2012-08-17 17:38:03
返回單個值的表單在某些情況下更易於使用。例如,如果您想對數字標識進行排序,那麼您只需返回該標識,而不是編寫完整的比較函數。 – 2012-08-17 21:35:11