從物件屬性值返回最大值 - JavaScript


假設,我們有一個包含根據一些標準對某個屬性進行評級的物件,如下所示:

const rating = {
   "overall": 92,
   "atmosphere": 93,
   "cleanliness": 94,
   "facilities": 89,
   "staff": 94,
   "security": 92,
   "location": 88,
   "valueForMoney": 92
}

我們需要編寫一個 JavaScript 函式,該函式接收此類一個物件,並返回具有最高值的鍵值對。

例如,對於這個物件,輸出應為:

const output = {
   "staff": 94
};

範例

以下為程式碼:

const rating = {
   "overall": 92,
   "atmosphere": 93,
   "cleanliness": 94,
   "facilities": 89,
   "staff": 94,
   "security": 92,
   "location": 88,
   "valueForMoney": 92
}
const findHighest = obj => {
   const values = Object.values(obj);
   const max = Math.max.apply(Math, values);
   for(key in obj){
      if(obj[key] === max){
         return {
            [key]: max
         };
      };
   };
};
console.log(findHighest(rating));

輸出

這將在控制檯中生成以下輸出:

{ cleanliness: 94 }

更新於: 18 日 9 月 2020

630 次瀏覽

開啟你的事業

完成課程,獲得認證

開始入手
廣告