sort( ) 오름차순 정렬 / reverse( ) 내림차순 정렬
- array.sort() : 문자기준 오름차순 정렬 (ascending)
- 가, 나, 다... / 1, 2, 3...
- array.reverse() : 문자기준 내림차순 정렬 (descending)
- 라, 다, 나... / 5, 4, 3...
- 정렬할 배열의 원소가 숫자인 경우 : 콜백함수를 이용하여 내부 연산하여 정렬
(콜백 함수 : 바로 사용하는 함수)
순차 정렬 (오름차순)
array.sort ( function(a,b){
return a- b;
})
역 정렬 (내림차순)
array.sort( function(a,b) {
return b - a;
})
사용 예 1) 1~45까지의 랜덤 숫자 6개를 생성해 배열에 넣고 콘솔에 출력
<script>
// myArr : 1~45까지의 랜덤 숫자 6개를 생성해 배열에 넣고 콘솔출력
const myArr=[];
for(let i=0; i<6; i++){
myArr.push(Math.floor(Math.random()*45)+1);
// myArr[i] = Math.floor(Math.random()*45)+1;
console.log(myArr[i]);
}
// 순차 정렬후 콘솔출력
myArr.sort(function(a,b){
return a-b;
})
console.log(myArr);
</script>
사용 예 2) 객체가 있는 배열을 생성해 여러 기준으로 콘솔 출력
<script>
// cars: 객체가 있는 배열 생성해 연식을 기준으로 콘솔 출력
const cars = [
{type: 'Volvo', year:2024},
{type: 'Benz', year:2022},
{type: 'BMW', year:2023}
];
// 연식기준 오래된 순서 정렬 2022-2023-2024
cars.sort(function(a,b){
return a.year - b.year;
});
console.log(cars);
// 객체의 문자값을 이용하여 정렬 Benz-BMW-Volvo
cars.sort(function(a,b){
let x = a.type.toLowerCase(); //같은 비교를 위해 전체 소문자로 변환
let y = b.type.toLowerCase();
if( x > y ){ return 1 };
if( y > x ){ return -1 };
return 0;
});
console.log(cars);
</script>
'JS > JS 공부' 카테고리의 다른 글
[JS] 배열 순환 forEach, map,filter (for in, for of) (0) | 2023.04.17 |
---|---|
[JS] 배열 순환 탐색 메서드 (0) | 2023.04.17 |
[JS] 배열 관련 메서드 join, push, unshift, pop, shift (0) | 2023.04.17 |
[JS] Array 배열, associative Array 유사배열(연관배열) (0) | 2023.04.17 |
[JS] 반복문 while, for (0) | 2023.04.14 |