sort() 특집

Kimu·2021년 9월 10일
0
post-thumbnail

JavaScript의 배열 메서드의 대표주자인 sort()를 알아보자.

다른 언어는 기본적으로 정렬메서드는 숫자 배열을 정렬한다(고 한다). 그런데 자바스크립트의 sort()는 기본적으로 문자 배열을 정렬하는 메서드이다.

사용법은,

문자열 배열 오름차순 정렬
	arr.sort()
문자열 배열 내림차순 정렬 (또는 위 식에서 .reverse() 추가)
	arr.sort((a, b) => a > b? -1: 1)
숫자 배열 오름차순 정렬
	arr.sort((a, b) => a - b )
숫자 배열 내림차순 정렬
	arr.sort((a, b) => b - a)

아래는 콘솔창에서 문자를 비교해보며 sort를 걸었을 때의 결과를 확인한 것이다.

유니코드값을 비교하기 때문에 대문자가 소문자보다 작다고 나온다.

문자열 말고 숫자를 정렬시키면 어떻게 되는지 보자
아래는 콘솔창에서 쉽게 확인할 수 있다.

	[11, 23, 99, 10, 3].sort()
  	(5) [10, 11, 23, 3, 99]

결과는 엉망이다. sort가 기본적으로 문자열 정렬을 하기 때문에 숫자를 앞자리만 비교해서 1, 2, 3 부터 정렬시킴을 알 수 있다. 우리가 원한 것은 이런 것이 아니기때문에 숫자를 정렬시키려면 인자를 넣어서 빼줘야 한다. 이 네 가지 식은 간단하니 그냥 외워서 쓰자.

profile
지속가능한 개발자

0개의 댓글