새소식

반응형
Javascript/문법

자바스크립트 배열 sort

  • -
반응형

JavaScript의 sort() 메소드는 배열의 요소를 정렬하는 데 사용됩니다. 이 메소드는 기본적으로 유니코드 코드 포인트에 따라 문자열로 변환 된 각 요소를 비교하여 배열을 정렬합니다.

 

sort() 메소드는 인자를 가질 수 있지만, 일반적으로는 비교 함수를 인자로 받습니다. 비교 함수는 두 개의 인자를 받아서, 정렬하고자 하는 두 요소를 비교하는 함수입니다. 비교 함수가 생략되면 기본적으로 문자열 비교에 따라 요소가 정렬됩니다.

예를 들어, 숫자 배열을 오름차순으로 정렬하려면 다음과 같이 비교 함수를 작성할 수 있습니다

 

const numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];

numbers.sort((a, b) => a - b);

console.log(numbers); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

 

반대로, 내림차순으로 정렬하려면 다음과 같이 비교 함수를 작성할 수 있습니다

 

const numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];

numbers.sort((a, b) => b - a);

console.log(numbers); // [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

 

비교 함수를 사용하면 객체 배열을 속성 값을 기준으로 정렬할 수도 있습니다. 다음은 name 속성으로 객체 배열을 정렬하는 예입니다

 

const persons = [
  { name: 'Alice', age: 28 },
  { name: 'Bob', age: 23 },
  { name: 'Charlie', age: 32 },
];

persons.sort((a, b) => a.name.localeCompare(b.name));

console.log(persons); // [{ name: 'Alice', age: 28 }, { name: 'Bob', age: 23 }, { name: 'Charlie', age: 32 }]

 

 

localeCompare() 메소드는 지역화된 문자열 비교를 수행하며, 여기에서는 이름 속성의 알파벳순으로 정렬됩니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.