簡體   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