반응형
배열을 정렬할 때 사용하는 내장 함수 sort()
arr.sort([compareFunction])
기존의 배열 데이터를 변경시킨다.
문자정렬은 알파벳 순서대로, 숫자는 ASCII 코드 순서로 정렬하기 때문에 생각한 대로 정렬되지 않는다.
따라서 아래의 코드를 입력해야 한다.
1) 오름차순
numbers.sort(function(a, b) {
return a - b;
});
numbers.sort((a, b) => a - b);
// 오름차순
2) 내림차순
numbers.sort(function(a, b){
return b - a;
)};
numbers.sort((a, b) => b - a);
// 내림차순
Object 객체를 가진 리스트도 정렬이 가능하다.
const participants = [
{ name: 'A', age: 17 },
{ name: 'B', age: 21 },
{ name: 'C', age: 15 },
{ name; 'D', age: 23 },
];
// age 기준으로 정렬할 때
participants.sort(function (a, b) {
if (a.age > b.age) {
return 1;
}
if (a.age < b.age) {
return -1;
}
return 0;
});
// name 기준으로 정렬할 때
participants.sort(function(a, b) {
const nameA = a.name.toUpperCase();
const nameB = b.name.toUpperCase();
if (nameA > nameB) {
return 1;
}
if (nameA < nameB) {
return -1;
}
return 0;
});
반응형
'ETC > develop' 카테고리의 다른 글
[JS] bubbling & capturing (0) | 2021.07.04 |
---|---|
[JS] filter (0) | 2021.06.28 |
[JS] 프로그래머스 키패드 누르기 (0) | 2021.06.27 |
[JS] for in / for of 그리고 map / reduce (0) | 2021.06.26 |
[JS] slice & splic (0) | 2021.06.25 |
댓글