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
});
- a, b는 array 안의 자료들입니다.
- return 오른쪽이 양수면 a를 오른쪽으로 정렬해줍니다.
- return 오른쪽이 음수면 b를 오른쪽으로 정렬해줍니다.
- 그리고 array 안의 자료들을 계속 뽑아서 a, b에 넣어줍니다.
이렇게 동작해서 a - b 저렇게 쓰면 숫자순 정렬이 되는 것입니다.
예를 들면 a, b가 7과 3일 경우 7 - 3 하면 4가 남습니다.
4는 양수죠? 그러면 7을 3보다 오른쪽으로 보내줍니다.
그래서 숫자 오름차순 (123순) 정렬이 완성되는 것입니다.
var 어레이 = [7,3,5,2,40];
어레이.sort(function(a, b){
return b - a
});
이러면 될듯요
- return 우측이 음수면 b를 오른쪽으로 보낸다고 했습니다.
- 그럼 a, b가 7과 3일 경우 return -4 라서 3을 더 오른쪽으로 보내줍니다.
이걸 array 자료들마다 계속 해주기 때문에 결국 321순 정렬이 됩니다.