2014-04-01 108 views
0

如果我有具有以下屬性/值的對象: {2:4,4:2,6:3}的Javascript返回對象屬性

我怎樣才能返回屬性的列表按照它們的價值順序,所以我想返回 {4:2,6:3,2:4}

感謝您的幫助!

+0

對象屬性是沒有順序的。 – Bergi

+0

我想你應該有你自己的排序方法。 – kenicky

+0

我知道它們沒有排序,但我有一個具有這些值的對象,並且希望按它們的值順序輸出它們。 – user3452572

回答

0

感謝您的建議,但他們沒有奏效。我碰到這一點,解決該問題:

function sortProperties(obj) 
{ 
    // convert object into array 
    var sortable=[]; 
    for(var key in obj) 
     if(obj.hasOwnProperty(key)) 
      sortable.push([key, obj[key]]); // each item is an array in format [key, value] 

    // sort items by value 
    sortable.sort(function(a, b) 
    { 
     var x=a[1], 
      y=b[1]; 
     return x>y ? -1 : x<y ? 1 : 0; 
    }); 
    return sortable; // array in format [ [ key1, val1 ], [ key2, val2 ], ... ] 
} 

來源:https://gist.github.com/umidjons/9614157