Post
(1) 매개변수를 쓰지 않을 때
const numbers = [45, 7, 535, 364, 314];
console.log(numbers.sort()); // [ 314, 364, 45, 535, 7 ]
이 경우에는 배열 안의 숫자를 문자열로 인식하기에, 제일 앞자리 숫자만 따져 순서를 매긴다.
(2) 매개변수 활용
const numbers = [45, 7, 535, 364, 314];
console.log(
numbers.sort(function (a, b) {
if (a > b) {
return 1;
} else if (a < b) {
return -1;
} else {
return 0;
}
})
); // [ 7, 45, 314, 364, 535 ]
1번째 요소(a)와 2번째 요소(b)를 비교하여
1번째가 클 경우에는 1을 반환(a를 b 뒤에 둔다. 순서 바꿈)
2번째가 클 경우에는 -1을 반환(a를 b 앞에 둔다. 순서 유지)
같을 경우에는 순서를 유지한다.
const numbers = [45, 7, 535, 364, 314];
console.log(
numbers.sort(function (a, b) {
if (a > b) {
return 0;
} else if (a < b) {
return 0;
} else {
return 0;
}
})
); // [ 45, 7, 535, 364, 314 ]
0이 반환될 경우에도 순서는 유지된다.
(3) 간략화
const numbers = [45, 7, 535, 364, 314];
console.log(
numbers.sort(function (a, b) {
return a - b;
})
);
// [ 7, 45, 314, 364, 535 ]
'JavaScript related' 카테고리의 다른 글
| JavaScript deep & shallow copy (0) | 2023.01.25 |
|---|---|
| JavaScript Array.fill.map (0) | 2023.01.25 |
| JavaScript Append Items (0) | 2023.01.23 |
| JavaScript Date (0) | 2023.01.23 |
| JavaScript Arrow Function (0) | 2023.01.23 |