JS[array.sort()]

j moon·2022년 7월 13일
0

JS

목록 보기
7/12
post-thumbnail

array.sort() : 배열을 오름차순 정렬

let arr = [1,3,5,2,4]

arr.sort()
console.log(arr)//[1,2,3,4,5]
arr.sort().reverse()
console.log(arr)//[5,4,3,2,1]

추가 sort()의 함정

sort()를 적용하면 문자나 숫자는 알맞게 정렬해준다. 하지만 숫자 형태의 문자 ['10','9','11'] 을 sort() 하면

let arr = ['10','9','11']

arr.sort()
console.log(arr)//['10','11,'9']

문자를 비교하면 앞자리의 문자 9보다 1이 작기 때문에 '10','11''9'보다 앞으로 온다

해결방법

.sort((a, b) => a-b) : 오름차순
.sort((a, b) => b-a) : 내림차순
let arr = ['10','9','11']

arr.sort((a, b) => a-b)
console.log(arr)//['9','10,'11']
arr.sort((a, b) => b-a)
console.log(arr)//['11','10,'9']

a-b 또는 b-a의 값이 양수가 나오면 배열에서 자리를 교체하고 음수가 나오면 교체하지 않는다.

참고자료
https://change-words.tistory.com/64

profile
자발개보초

0개의 댓글