最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

按数值对 Javascript Map 进行排序

网站源码admin35浏览0评论

按数值对 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
发布评论

评论列表(0)

  1. 暂无评论