array 정렬하는 법

장종환·2022년 3월 27일
0

javascript

목록 보기
2/9

array 자료는 순서개념이 있다보니 정렬도 가능합니다.

그냥 문자 가나다순으로 정렬하려면 .sort() 붙이면 되는데

숫자정렬은 이렇게 코드짜면 됩니다.

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

console.log(어레이);

이러면 숫자순으로 잘 출력됩니다.

근데 왜 저렇게 코드짜면 숫자순 정렬이 되는지 알고싶지 않습니까

코드 동작원리 이런걸 알면 나중에 응용도 쉽게 가능하기 때문에 sort() 동작원리를 알아봅시다.

어레이.sort(function(a, b){
  return a - b
}); 
  1. a, b는 array 안의 자료들입니다.
  1. return 오른쪽이 양수면 a를 오른쪽으로 정렬해줍니다.
  1. return 오른쪽이 음수면 b를 오른쪽으로 정렬해줍니다.
  1. 그리고 array 안의 자료들을 계속 뽑아서 a, b에 넣어줍니다.

이렇게 동작해서 a - b 저렇게 쓰면 숫자순 정렬이 되는 것입니다.

예를 들면 a, b가 7과 3일 경우 7 - 3 하면 4가 남습니다.

4는 양수죠? 그러면 7을 3보다 오른쪽으로 보내줍니다.

그래서 숫자 오름차순 (123순) 정렬이 완성되는 것입니다.

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

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

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

이러면 될듯요

  • return 우측이 음수면 b를 오른쪽으로 보낸다고 했습니다.
  • 그럼 a, b가 7과 3일 경우 return -4 라서 3을 더 오른쪽으로 보내줍니다.

이걸 array 자료들마다 계속 해주기 때문에 결국 321순 정렬이 됩니다.

0개의 댓글

관련 채용 정보