如何在javascript中按值对地图排序? [英] How to sort a map by value in javascript?

查看:84
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆