首页 > 解决方案 > 从 TypeScript Map 中获取具有最大值的键

问题描述

如果我有一个地图,定义如下:

let map: Map<string, number> = new Map();

map.set("a", 12);
map.set("b", 124);
map.set("c", 14);
map.set("d", 155);

我将如何获得最大价值的关键,在这种情况下,输出将是"d"

我已经尝试了一些适用于 Object's(ie {}) 的答案,但这些都不起作用,因为它们使用obj[key].

带有代码的 Typescript Playground 链接:这里

标签: typescript

解决方案


使用Array.from()and Array.reduce(),可以按如下方式完成:

Array.from(map.entries()).reduce((a, b) => a[1] < b[1] ? b : a)[0];

推荐阅读