繁体   English   中英

在对象中找到2个最大值-Javascript

[英]Find 2 highest values in an object - Javascript

我试图从一个对象中获取前2个最高值:

emotions = {
      joy: 52,
      surprise: 22,
      contempt: 0,
      sadness: 98,
      fear: 60,
      disgust: 20,
      anger: 1,
  };

我知道我可以使用所有这些值来做Math.max() ,但在此示例中它将仅返回悲伤的值。 我能以某种方式获得标签(悲伤)和值(98)的前2名吗?

您可以获取条目,对它们进行排序,然后返回转换为单个对象的对象。

 var emotions = { joy: 52, surprise: 22, contempt: 0, sadness: 98, fear: 60, disgust: 20, anger: 1 }, top2 = Object .entries(emotions) .sort(({ 1: a }, { 1: b }) => b - a) .slice(0, 2) .map(([label, value]) => ({ label, value })); console.log(top2); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM