从对象属性值返回最高数字 – JavaScript

javascriptweb developmentfront end technologyobject oriented programming

假设,我们有一个对象,其中包含对某些标准的属性评级,例如 −

const ratings = {
   "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 }

相关文章