我正在尝试订购一个数组.我试过以下代码:
var groupUserCounter=[];
groupUserCounter["g1"]=1;
groupUserCounter["g2"]=2;
groupUserCounter["g3"]=3;
console.log(groupUserCounter.sort(function(a, b){return b-a}));
Run Code Online (Sandbox Code Playgroud)
它返回:
Array [ ]
Run Code Online (Sandbox Code Playgroud)
我该怎么做降序?
您的问题是您尝试以不起作用的方式混合数组和对象.尝试将对象推送到这样的数组中:
var groupUserCounter = [];
groupUserCounter.push({'g1':1});
groupUserCounter.push({'g2':2});
groupUserCounter.push({'g3':3});
groupUserCounter.sort(function(a, b){
var propA = Object.keys(a)[0],
propB = Object.keys(b)[0];
return b[propB] - a[propA];
});
Run Code Online (Sandbox Code Playgroud)
或者只是完全使用一个对象并编写一个基于Object.keys(yourKeyValueObject)的排序函数,如下面的RGraham所示.
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |