2014-04-01 80 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