본문 바로가기
공부일지/Javascript

sort 메서드

by 곰인간 2023. 5. 1.

sort 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환한다.

기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다.

*참고자료 - MDN sort()

 

const arr1 = [1, 30, 4, 21, 100000, 445,79878];
arr1.sort()
console.log(arr1)

arr1 이라는 배열에 아무 숫자나 집어 넣어서 콘솔로그로 출력해보자.

[1, 100000, 21, 30, 4, 445, 79878]

결과는 이러한 값이 나온다.

왜이러는걸까

sort메서드는 비교함수를 지정하지 않으면 기본적으로 문자열 비교를 실행한다.

위에 말했듯이 유니코드 순서로 정렬..

하지만 이걸 비교함수를 지정해준다면?

const arr1 = [1, 30, 4, 21, 100000, 445,79878];
arr1.sort((a, b) => a - b)
console.log(arr1)

sort 메서드에 콜백함수로 비교함수를 지정하였다.

(a, b) => a - b

위 함수는 a에서 b를  뺀 걸 반환하는 함수이다.

a-b가 음수이면 a가 b보다 작은 것이고,

a-b가 0이면 같은,

a-b가 양수이면 a가 b보다 큰 것 이다.

이러한 결과를 통해 오름차순으로 정해진다.

그리고 arr1을 콘솔로그로 출력하면

[1, 4, 21, 30, 445, 79878, 100000]

의 값이 출력된다.

 

 

댓글