[javascript] 자바스크립트로 다중 조건으로 배열 정렬하기

배열을 정렬할 때 하나 이상의 조건을 기반으로 정렬해야 하는 경우가 있습니다. 자바스크립트에서는 Array.sort() 메서드를 사용하여 다중 조건으로 배열을 정렬할 수 있습니다.

아래는 다중 조건으로 배열을 정렬하는 방법을 보여주는 간단한 예제 코드입니다.

// 다중 조건으로 배열 정렬하기
const items = [
  { name: 'A', age: 20 },
  { name: 'B', age: 25 },
  { name: 'C', age: 20 },
];

items.sort((a, b) => {
  if (a.age === b.age) {
    return a.name.localeCompare(b.name);
  }
  return a.age - b.age;
});

console.log(items);

위 코드는 먼저 나이(age)를 기준으로 오름차순으로 정렬하고, 나이가 동일한 경우에는 이름(name)을 기준으로 오름차순으로 정렬합니다.

이 예제에서 Array.sort() 메서드는 비교 함수를 인자로 받습니다. 이 함수는 두 개의 요소를 매개변수로 받고, 양수, 음수 또는 0을 반환하여 정렬 순서를 결정합니다.

만약 다른 조건이나 복잡한 정렬이 필요하다면, 비교 함수를 수정하여 해당 조건을 반영할 수 있습니다.

위 예제 코드를 실행하면 다중 조건으로 배열이 정렬된 결과를 확인할 수 있습니다.

이렇게 다중 조건으로 배열을 정렬할 수 있으며, 비교 함수를 활용하여 다양한 정렬 조건을 적용할 수 있습니다.

참고 자료