如何在javascript中按值对地图排序? [英] How to sort a map by value in javascript?
本文介绍了如何在javascript中按值对地图排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
var map = new Map();
map.set("orange",10);
map.set("apple",5);
map.set("banana",20);
map.set("cherry",13);
如何按值对地图进行排序?
How to sort this map by value?
推荐答案
您可以采用其他方法并更改Symbol.iterator
/Map/@@ iterator"rel =" noreferrer> Map.prototype[@@iterator]()
获取自定义排序结果.
Yo could take a different approach and change Symbol.iterator
of Map.prototype[@@iterator]()
for a custom sorted result.
var map = new Map();
map.set("orange", 10);
map.set("apple", 5);
map.set("banana", 20);
map.set("cherry", 13);
map[Symbol.iterator] = function* () {
yield* [...this.entries()].sort((a, b) => a[1] - b[1]);
}
for (let [key, value] of map) { // get data sorted
console.log(key + ' ' + value);
}
console.log([...map]); // sorted order
console.log([...map.entries()]); // original insertation order
.as-console-wrapper { max-height: 100% !important; top: 0; }
这篇关于如何在javascript中按值对地图排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文