Archive

[JS] sort()

livemehere 2021. 10. 31. 23:30

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()는 새로운 배열을 반환하는게 아니라 기존의 배열을 변형시킨다는 것이다

반응형