我有一個解釋:排序由underscore.js鍵
{
abc : {id : 1},
defg : {id : 2}
}
我想通過鍵長度使用underscore.js 輸出像排序詞典:
{
defg : {id : 2},
abc : {id : 1}
}
原型工作: http://jsfiddle.net/UCWL2/71/
我有一個解釋:排序由underscore.js鍵
{
abc : {id : 1},
defg : {id : 2}
}
我想通過鍵長度使用underscore.js 輸出像排序詞典:
{
defg : {id : 2},
abc : {id : 1}
}
原型工作: http://jsfiddle.net/UCWL2/71/
字典,這是一個普通的JS對象,不能可靠地排序,因爲元素的順序沒有指定由ECMA Script 5規範。當然,你可能依賴於瀏覽器特定的行爲,但不能保證它是相同的瀏覽器,它們的版本等。
如果你需要排序的地圖,你會想要使用數組(但隨後你失去了日誌訪問的複雜性),或者某個第三方庫(即dsjslib)。
只有一個問題,我沒有得到這些upvotes任何積分,你知道爲什麼會發生? –
@RishiPrakash - 看來你今天已經達到了200個重要點 - 這是極限,恭喜! [請參閱文檔瞭解更多信息](http://stackoverflow.com/help/whats-reputation) – kamituel
哦,我不知道這件事。謝謝 :) –
var avatars = [
{idx: 102, userInfo: {buddy_name: 'Avatar102', is_online: 1}},
{idx: 100, userInfo: {buddy_name: 'Avatar100', is_online: 1}},
{idx: 101, userInfo: {buddy_name: 'Avatar101', is_online: 1}}
];
avatars = _(avatars).sortBy(function(avatar) {
return -avatar.idx;// -ve is put in front of variable to sort in desc i.e reverse direction
});
console.log(JSON.stringify(avatars));
只需替換return avatar.idx; //。userInfo.buddy_name;通過返回-avatar.idx; //。userInfo.buddy_name;它扭轉了結果。
工作的jsfiddle:http://jsfiddle.net/0Lb44h96/
如果我的回答幫你,你會接受它。 –
這已經只有10分鐘,給OP一些時間@RishiPrakash;)我會給你一個upvote,但! – kamituel
@ kamituel哦,好的。我不會貪婪:) :) –