排序数组在Javascript:与按降序排列的大多数元素项目[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序数组在Javascript:与按降序排列的大多数元素项目[复制]相关的知识,希望对你有一定的参考价值。

这个问题已经在这里有一个答案:

我有一个数组,我需要它的递减顺序进行排序,但它似乎并没有工作。我应该怎么解决?

var array = [];
array['a'] = ['1','2','3'];
array['b'] = ['2','3'];
array['c'] = ['5','6','8','9'];

  

array.sort(function(a, b) {
 return a.length < b.length ? -1 : (a.length > b.length ? 1 : 0);
});

console.log(array);
答案

我应该怎么解决?

你的数组是空的,因为它没有数字键。因此排序它什么也不做,登录时看到阵列中的非数字键。


当你想快速查找你需要一个哈希表(对象或地图),然而,它们没有排序,所以你还需要一个数组有一个排序顺序。你可以很容易地建立既为您的数据:

const lookup = {
  a: [ '1','2','3'],
  b: ['2','3'],
  c: ['5','6','8','9'],
};

const sorted = Object.values(lookup).sort((a, b) => a.length - b.length);

console.log(
  lookup["a"], 
  sorted[0]
);

以上是关于排序数组在Javascript:与按降序排列的大多数元素项目[复制]的主要内容,如果未能解决你的问题,请参考以下文章

按降序对数组进行排序的更好方法

JavaScript按降序排序日期后跟时间[重复]

Vertica - 按降序排列的投影

按降序排序数组(NSArray)

如何在Ruby中按降序对数组进行排序

C# WinForms ComboBox:AutoComplete 不按降序排序