如何从JavaScript字典中获取值最高的3个键
获取JavaScript对象中值最高的3个键
嘿,这事儿不难,咱们一步步来搞定它:
首先,你得把这个对象转换成键值对的数组,然后按值从大到小排序,接着取前三个,最后提取出对应的键就行。直接上代码:
const dict = {"apple": 1, "orange":10,"watermelon":5, "banana":15}; // 步骤1:把对象转成键值对数组 const entries = Object.entries(dict); // 步骤2:按值降序排序 const sortedEntries = entries.sort((a, b) => b[1] - a[1]); // 步骤3:取前3个并提取键 const top3Keys = sortedEntries.slice(0, 3).map(item => item[0]); console.log(top3Keys); // 输出:["banana","orange", "watermelon"]
也可以把这些步骤合并成一行更简洁的写法:
const dict = {"apple": 1, "orange":10,"watermelon":5, "banana":15}; const top3Keys = Object.entries(dict) .sort((a, b) => b[1] - a[1]) .slice(0, 3) .map(([key]) => key); console.log(top3Keys);
我给你拆解下每一步的作用:
Object.entries(dict):把对象转换成[['apple', 1], ['orange', 10], ...]这样的二维数组,方便后续排序操作;.sort((a, b) => b[1] - a[1]):对数组里的元素按值(每个子数组的第二个元素)从大到小排序;.slice(0, 3):截取排序后数组的前3个元素;.map(([key]) => key):从每个键值对里提取出键,最终得到你要的数组。
这样就能完美得到你预期的结果啦~
内容的提问来源于stack exchange,提问作者johny
相关产品推荐
相关产品推荐

