我有一個非常簡單的一種排序方法:定製JavaScript數組的排序功能
sortByNumericAttr : function (a, b,attr){
a = a[attr];
b = b[attr];
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
這裏的想法是,我有不同的ATTR需要排序(ID,類型等)不同的對象,所以我思考而不是寫每個不同的排序功能(其中所有的差異只是排序的屬性),我會寫一個通用的方法,並將屬性傳遞給它。
所以,如果它是這樣寫的,我可以把它想:
arr.sort(utils.sortByNumericAttr,'typeId');
我怎樣才能做到這一點或類似的效果,在此基礎上功能?
該代碼看起來不錯..... – 2013-02-13 08:11:11
是的,沒有工作,JavaScript排序只接受函數,attr是undefined – Tomer 2013-02-13 08:11:18
正如「這是可能的」一樣,問題通常不是對SO的知識體有益的補充。也沒有任何是/否的問題。他們中的大多數甚至可以通過快速查閱[相關文檔](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/sort)(您可以在其中看到正確的簽名方法等)。獲得正確實現功能的幫助是完全不同的事情。 – nbrooks 2013-02-13 08:16:58