V2版本: 改进操作界面,统一表单样式,更多工具支持批量生成,欢迎使用 到达~


文库 阅读
作者: xiaoyu 09/30 23:39:39

JS Map对象如何根据 键 key 倒序和顺序排序?

sort() 方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的

由于它取决于具体实现,因此无法保证排序的时间和空间复杂性

语法

arr.sort([compareFunction])

一、按顺序排:

定义以下map

var map = new Map();
map.set("google", "8");
map.set("yahoo", "5");
map.set("msn", "2");
map.set("stackoverflow", "7");
map.set("github", "3");
map.set("amazon", "6");
map.set("ebay", "9");

想根据 key 从小到大排序,首先map转换为数组对象

得到的 arrObj 中索引0为key,索引1为value,然后采用数组的排序方法

var arrObj = Array.from(map);
var result = arrObj.sort(function(a,b){return a[0].localeCompare(b[0])})

输出:按字母从a-z

0: (2) ['amazon', '6']
1: (2) ['ebay', '9']
2: (2) ['github', '3']
3: (2) ['google', '8']
4: (2) ['msn', '2']
5: (2) ['stackoverflow', '7']
6: (2) ['yahoo', '5']

二、按倒序排:

var result = arrObj.sort(function(a,b){return b[0].localeCompare(a[0])})

输出:按字母从z-a

0: (2) ['yahoo', '5']
1: (2) ['stackoverflow', '7']
2: (2) ['msn', '2']
3: (2) ['google', '8']
4: (2) ['github', '3']
5: (2) ['ebay', '9']
6: (2) ['amazon', '6']

About

map的高级用法。sort() 方法用原地算法对数组的键进行排序,并返回数组。

Resources

发布

未发布任何资源
首页 喜欢 我的 定制
定制咨询
微信二维码
扫一扫上面的二维码,加我为朋友。
微信扫码周一至周六服务
接定制开发需求