You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 18:32:35