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