javascript - 在 JavaScript 中对数组进行排序 : items with most elements in descending order

标签 javascript arrays sorting

我有一个数组,我需要按降序对它进行排序,但它似乎不起作用。我可以解决什么问题?

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

最佳答案

What could I fix?

您的数组为空,因为它没有数字键。因此,排序不会执行任何操作,在记录时您会看到数组中的非数字键。

<小时/>

由于您想要快速查找,您需要一个哈希表(对象或映射),但是它们没有排序,因此您还需要一个数组来排序。您可以轻松地为您的数据构建两者:

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 中对数组进行排序 : items with most elements in descending order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54501741/

相关文章:

Javascript 从数组创建音频标签

c - 二维数组程序在输出中显示垃圾值

java - 对自定义对象的 ArrayList 进行排序并在 Java 中重新排序

javascript - 在不止一次添加允许的文件总数时,在更改事件监听器中对文件数组进行切片 - JavaScript

javascript - 使用javascript从表中删除列

javascript - 抛出 TypeError,但函数仍然运行,为什么?

ios - Swift - 就地更新对象

c - FOR 循环中的字符串

algorithm - 能不能写出空间复杂度为O(n)的n个元素的计数排序算法?

python - 根据值将 numpy 数组过滤成单独的数组,用于绘制等值线