数值对 Javascript Map 进行排序"/>
按数值对 Javascript Map 进行排序
如果
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 对象的值迭代器Map.prototype.values()
- 然后你使用
模式传播它以将其转换为数组[...iterator]
- 最后使用
的排序功能。第二个参数允许你传入一个比较函数,其中:Array.prototype.sort()
返回值 |
排序 |
---|---|
|
在 之后排序 ,例如
|
|
在 之前排序 ,例如
|
|
保留 和
|
更多推荐
按数值对 Javascript Map 进行排序
发布评论