按数值对 Javascript Map 进行排序

编程入门 行业动态 更新时间:2024-10-05 15:26:08

按<a href=https://www.elefans.com/category/jswz/34/1769303.html style=数值对 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);

说明:

  1. 您使用
    Map.prototype.values()
    函数获得 Map 对象的值迭代器
  2. 然后你使用
    [...iterator]
    模式传播它以将其转换为数组
  3. 最后使用
    Array.prototype.sort()
    的排序功能。第二个参数允许你传入一个比较函数,其中:
原来的顺序
compareFn(a, b)
返回值
排序
> 0
a
之后排序
b
,例如
[b, a]
< 0
a
之前排序
b
,例如
[a, b]
=== 0
保留
a
b

更多推荐

按数值对 Javascript Map 进行排序

本文发布于:2024-05-30 08:10:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770286.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数值   Javascript   Map

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!