카드 게임에서 일부 플레이어의 점수를 포함하는 개체 배열이 있다고 가정해 보겠습니다.
const scorecard = [{ name: "Zahir", score: 23 }, { name: "Kabir", score: 13 }, { name: "Kunal", score: 29 }, { name: "Arnav", score: 42 }, { name: "Harman", score: 19 }, { name: "Rohit", score: 41 }, { name: "Rajan", score: 34 }];
우리는 또한 특정 플레이어의 이름을 포함하는 selfName이라는 이름의 변수를 가지고 있습니다 -
const selfName = 'Arnav';
스코어카드 배열을 알파벳순으로 정렬하고 selfName과 같은 이름을 가진 객체가 맨 위에 표시되도록 하는 함수를 작성해야 합니다(인덱스 0).
따라서 이 문제에 대한 코드를 작성해 보겠습니다 -
예시
const scorecard = [{ name: "Zahir", score: 23 }, { name: "Kabir", score: 13 }, { name: "Kunal", score: 29 }, { name: "Arnav", score: 42 }, { name: "Harman", score: 19 }, { name: "Rohit", score: 41 }, { name: "Rajan", score: 34 }]; const selfName = 'Arnav'; const sorter = (a, b) => { if(a.name === selfName){ return -1; }; if(b.name === selfName){ return 1; }; return a.name < b.name ? -1 : 1; }; scorecard.sort(sorter); console.log(scorecard);
출력
콘솔의 출력은 다음과 같습니다. -
[ { name: 'Arnav', score: 42 }, { name: 'Harman', score: 19 }, { name: 'Kabir', score: 13 }, { name: 'Kunal', score: 29 }, { name: 'Rajan', score: 34 }, { name: 'Rohit', score: 41 }, { name: 'Zahir', score: 23 } ]