본문 바로가기

Javascript

[자바스크립트] 숫자 오름차순으로 정렬하기

자바스크립트에서 숫자를 오름차순으로 정렬하려고 할 때, 안되는 경우가 있다. 

mdn을 읽어보면, 문자열의 유니코드 코드 포인트에 따라서 달라질 수 있음을 알 수 있다. 

아래와 같은 상황이 발생할 수도 있는 것이다. 

const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);
// expected output: Array [1, 100000, 21, 30, 4]

때문에 숫자를 오름차순으로 정렬하기 원한다면 sort에 다음과 같은 코드를 넣어줘야 한다.

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

 

그렇게 되는 이유에 대한 설명은 여기 mdn공식 문서에 소개되어 있다. 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort