Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

객체 JavaScript에서 n개의 가장 높은 값 찾기

<시간/>

다음과 같이 축구 선수의 다양한 자질을 설명하는 개체가 있다고 가정해 보겠습니다. -

const qualities = {
   defence: 82,
   attack: 92,
   heading: 91,
   pace: 96,
   dribbling: 88,
   tenacity: 97,
   vision: 91,
   passing: 95,
   shooting: 90
};

우리는 이러한 객체와 숫자 n(객체에 있는 키의 n <=no.)을 받아서 n개의 가장 높은 키 값 쌍을 가진 객체를 반환하는 함수를 작성하려고 합니다.

n =2에 대해 좋아요

출력은 다음과 같아야 합니다. -

{
   tenacity: 97,
   pace: 96
}

따라서 이 함수의 코드를 작성해 보겠습니다.

이 함수의 전체 코드는 다음과 같습니다. -

예시

const qualities = {
   defence: 82,
   attack: 92,
   heading: 91,
   pace: 96,
   dribbling: 88,
   tenacity: 97,
   vision: 91,
   passing: 95,
   shooting: 90
};
const pickHighest = (obj, num = 1) => {
   const requiredObj = {};
   if(num > Object.keys(obj).length){
      return false;
   };
   Object.keys(obj).sort((a, b) => obj[b] - obj[a]).forEach((key, ind) =>
   {
      if(ind < num){
         requiredObj[key] = obj[key];
      }
   });
   return requiredObj;
};
console.log(pickHighest(qualities, 3));

출력

콘솔의 출력은 다음과 같습니다. -

{ tenacity: 97, pace: 96, passing: 95 }
{ tenacity: 97 }
{ tenacity: 97, pace: 96, passing: 95, attack: 92, heading: 91 }