자바스크립트에서 숫자를 오름차순으로 정렬하려고 할 때, 안되는 경우가 있다.
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
'Javascript' 카테고리의 다른 글
[javascript] 요소의 이벤트 전파를 막는 2가지 방법 (0) | 2021.06.21 |
---|---|
[Javascript] 특정한 범위 안에서 랜덤한 숫자를 추출하는 방법 (0) | 2021.05.25 |
[자바스크립트] 문자열에 특정 길이만큼 원하는 문자로 채우는 방법 (0) | 2021.05.18 |
[자바스크립트] 문자열에서 특정요소를 제외하고 제거하기 (0) | 2021.05.18 |
[Javascript] parameter default 파라미터에 기본값 미리 설정하기(es6이후버전) (0) | 2021.05.04 |