javascript - 如何在 JavaScript 中按值对 map 进行排序?

标签 javascript sorting dictionary

如何按值对这张 map 进行排序?

var map = new Map();
map.set('orange', 10);
map.set('apple', 5);
map.set('banana', 20);
map.set('cherry', 13);

最佳答案

const myMap = new Map();
myMap.set("a",3);
myMap.set("c",4);
myMap.set("b",1);
myMap.set("d",2);

// sort by value
const mapSort1 = new Map([...myMap.entries()].sort((a, b) => b[1] - a[1]));
console.log(mapSort1);
// Map(4) {"c" => 4, "a" => 3, "d" => 2, "b" => 1}

const mapSort2 = new Map([...myMap.entries()].sort((a, b) => a[1] - b[1]));
console.log(mapSort2);
// Map(4) {"b" => 1, "d" => 2, "a" => 3, "c" => 4}

// sort by key
const mapSort3 = new Map([...myMap.entries()].sort());
console.log(mapSort3);
// Map(4) {"a" => 3, "b" => 1, "c" => 4, "d" => 2}

const mapSort4 = new Map([...myMap.entries()].reverse());
console.log(mapSort4);
// Map(4) {"d" => 2, "b" => 1, "c" => 4, "a" => 3}

关于javascript - 如何在 JavaScript 中按值对 map 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37982476/

相关文章:

python - 类型错误 : Format Requires Mapping

dictionary - Xquery 中的字典

python - 从由嵌套元组键控的 python 字典重建向量场

javascript - 需要用 MomentJS 显示 AM/PM

javascript - 如何让 promise 在开 Jest 中落空

php - 如何使用预定义的字母表对 unicode 中的字符串进行排序?

sorting - 如何在Elasticsearch中基于存储的字段值获取前5个文档?

javascript - 如何解析 amcharts 股票日期

javascript - 扩展 navigator.serviceWorker 对象时出现 TypeError : 'get ready' called on an object that does not implement interface ServiceWorkerContainer.

C++ 查找已排序字符串中的重复字符