본문 바로가기
Archive

[JS] sort()

by livemehere 2021. 10. 31.

sort()는 기본적으로 배열에서 문자열을 정렬한다

var 어레이 = [7,3,5,2,40];
어레이.sort(); // [2,3,40,5,7]

 

이렇게 변경하면 오름차순 정렬이된다

var 어레이 = [7,3,5,2,40];
어레이.sort(function(a,b){
  return a - b
});

하지만 sort 함수의 동작 원리를 잠깐 설명해드리자면

① sort 함수의 파라미터두개는 array 자료 안에 있던 데이터들을 의미합니다.

a, b 이건 그니까 7, 3 이거랑 똑같다고 보시면 됩니다. 

 

② sort 함수는 양수(+)를 return 하면 a를 오른쪽 b를 왼쪽으로 보냄

음수(-)를 return 하면 a를 왼쪽 b를 오른쪽으로 보냄

이렇게 동작하도록 되어있습니다.

 

③ sort 함수는 a, b자리에 7과 3을 대입해보고 끝나는게 아니라 

7, 5

7, 2 등

array 안에 있는 모든 자료들을 다 알아서 적용해봅니다.

 

즉, sort 는 오름차순정렬하기위해서 앞에값과 뒤의값을 비교해서 앞의값이 크다면 뒤로보내는 구조이다

가장중요한 사실은 sort()는 새로운 배열을 반환하는게 아니라 기존의 배열을 변형시킨다는 것이다

반응형

'Archive' 카테고리의 다른 글

[JS] Ajax  (0) 2021.11.01
[JS] filter & map  (0) 2021.11.01
[JS] input & change event  (0) 2021.10.31
[JS] e.target vs e.currentTarget (이벤트버블링)  (0) 2021.10.30
Flutter 화면 이동하기  (0) 2021.10.29