Javascript

array를 sort로 정렬하는 법

zerobeen 2023. 5. 30. 19:40

array 자료는 순서개념이 있다보니 정렬도 가능합니다.
그냥 문자 가나다순으로 정렬하려면 .sort() 붙이면 됩니다.

어레이.sort(function(a, b){
  return a - b
});

1. a, b는 array 안의 자료들입니다.
2. return 오른쪽이 양수면 a를 오른쪽으로 정렬해줍니다.
3. return 오른쪽이 음수면 b를 오른쪽으로 정렬해줍니다.
4. 그리고 array 안의 자료들을 계속 뽑아서 a, b에 넣어줍니다. 
이렇게 동작해서 a - b 저렇게 쓰면 숫자순 정렬이 되는 것입니다. 


예를 들면 a, b가 7과 3일 경우 7 - 3 하면 4가 남습니다.
4는 양수죠? 그러면 7을 3보다 오른쪽으로 보내줍니다.
그래서 숫자 오름차순 (123순) 정렬이 완성되는 것입니다.

 

 

그럼 array 안의 숫자 내림차순 정렬은 어떻게 할까?

let 어레이 = [7,3,5,2,40];

어레이.sort(function(a, b){
  return b - a 
});

return 우측이 음수면 b를 오른쪽으로 보낸다고 했습니다.
그럼 a, b가 7과 3일 경우 return -4 라서 3을 더 오른쪽으로 보내줍니다.
이걸 array 자료들마다 계속 해주기 때문에 321순 정렬이 됩니다.