如何根据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 });
呃…你想交换这些值吗?