数组中的Javascript顺序

Javascript order in array

本文关键字:顺序 Javascript 数组      更新时间:2023-09-26

我正在尝试订购一个数组。我尝试了以下代码:

var groupUserCounter=[];
groupUserCounter["g1"]=1;
groupUserCounter["g2"]=2;
groupUserCounter["g3"]=3;
console.log(groupUserCounter.sort(function(a, b){return b-a}));

返回:

Array [  ]

如何按降序排列?

你的问题是,你试图混合数组和对象的方式,他们不工作。尝试像这样将对象压入数组:

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];
});

或者只是使用一个对象,并编写一个基于object .keys(yourKeyValueObject)的排序函数,如RGraham下面所示。