我一直在使用对象作为哈希表,并且从中获得了最高的价值Objects.keys(foo).reduce((a,b) => foo[a] > foo[b] ? a : b)。但是,我已切换为使用Maps()。迭代Map对象以获得最高价值的理想方法是什么?
您可以传播values()到Math.max:
let m = new Map([['a', 2], ['b',4], ['c',6]])
console.log("Max:", Math.max(...m.values()))Run Code Online (Sandbox Code Playgroud)
如果您既需要键也需要值,那么我认为您将回到reduce()使用entries()map:
let m = new Map([['a', 2], ['b',4], ['c',6]])
console.log([...m.entries()].reduce((a, e ) => e[1] > a[1] ? e : a))Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1434 次 |
| 最近记录: |