如果
kv
是 Javascript Map
对象,我如何按其数值对它进行排序?
例如,当
kv
是一个计数器时,这是一个常见的模式,我们需要看到计数最高的前n个项目。
这不同于Is it possible to sort a ES6 map object?,这是词法排序。
Array.prototype.sort()
函数中传入第二个参数
你的案例的一个例子是:
[...kv.values()].sort((a, b) => a - b);
说明:
Map.prototype.values()
函数获得 Map 对象的值迭代器[...iterator]
模式传播它以将其转换为数组Array.prototype.sort()
的排序功能。第二个参数允许你传入一个比较函数,其中: 返回值 |
排序 |
---|---|
|
在 之后排序 ,例如
|
|
在 之前排序 ,例如
|
|
保留 和
|