如何根据javascript中包含对象的属性值对关联对象排序

如何根据javascript中包含对象的属性值对关联对象排序,javascript,sql-order-by,associative-array,Javascript,Sql Order By,Associative Array,例如,对于此关联对象: a["id1"] = { Id: "id1", Count: 15, Other: "aaa"}; a["id2"] = { Id: "id2", Count: 5, Other: "bbb" }; 我想要这个阵列: b[0] = { Id: "id2", Count: 5, Other: "bbb" }; b

例如,对于此关联对象:

a["id1"] = { Id: "id1", Count: 15, Other: "aaa"};
a["id2"] = { Id: "id2", Count: 5, Other: "bbb" }; 
我想要这个阵列:

b[0] = { Id: "id2", Count: 5, Other: "bbb" };
b[1] = { Id: "id1", Count: 15, Other: "aaa"};

这应该可以做到:

var b = [];
for(x in a)
    b.push(a[x]);

数组中元素的顺序无法保证,如果需要,必须在之后对数组进行排序。如果您也需要帮助,请告诉我。

使用
for in
循环将对象收集到一个数组中,以便对其进行排序

var data = [];
for(var name in object) {
  if (object.hasOwnProperty(name)) {
    data.push ( name );
  }
}
然后使用Javascript内置的数组排序方法,传递一个函数,与之比较数组中的对象

//I assume you are sorting on Count
data.sort(function (a,b) { return a.Count - b.Count });

呃…你想交换这些值吗?