-
TIL-2024.02.16 - Tips - .sort() 와 .sort((a,b) => a-b)) 차이> 기초/도와줘요! 2024. 2. 16. 22:09
.sort():
기본적으로 배열의 요소를 문자열로 변환하고, 그 문자열들을 유니코드 코드 포인트 순서대로 정렬합니다. 숫자 배열을 정렬할 때 예상치 못한 결과를 초래할 수 있습니다.
예를 들어, 숫자 배열 [10, 5]를 .sort()로 정렬하면, 결과는 [10, 5]로 나오는데, 이는 숫자를 문자열로 변환하여 비교하기 때문입니다 ("10"은 "2"보다 앞서지만, 숫자로서는 10이 2보다 큽니다).
.sort((a, b) => a - b):
이 형식은 배열을 숫자 크기에 따라 오름차순으로 정렬하는 비교 함수를 제공합니다.
비교 함수는 두 요소 a와 b를 비교하고, 결과가 음수이면 a를 b보다 앞에 위치시키고, 양수이면 b를 a보다 앞에 위치시킵니다
. 결과가 0이면 두 요소의 순서를 변경하지 않습니다. 따라서, 숫자 배열을 예상대로 정확하게 숫자의 크기에 따라 정렬하려면 이 방식을 사용하는 것이 좋습니다.
예를 들어, [10, 5] 배열을 .sort((a, b) => a - b)로 정렬하면, 결과는 [5, 10]으로 나옵니다.
요약:
.sort() > 문자열 상황에서 사용
.sort((a, b) => a - b) > 숫자 상황에서 사용
가끔 헷갈리는 것들..
'> 기초 > 도와줘요!' 카테고리의 다른 글
TIL-2024.07.04 - TIPS - 다중 commit 하나로 합치기 (0) 2024.07.04 TIL-2024.07.01 - TIPS - React + Docker + Nginx + Git Action (0) 2024.07.01 TIL-2024.04.14 - TIPS - Map() sort 방법 (value 먼저 key 다음) (0) 2024.04.14 001_JS_Object 타입에서 원하는 값 찾고 바꾸기 (0) 2022.06.20