반응형
sort 메소드
sort 메소드는 배열 내에서 오름차순, 내림차순으로 요소를 정렬할 수 있으며
메소드에 아무런 아규먼트도 전달하지 않을 때에는
기본적으로 유니코드에 정의된 문자열 순서에 따라 정렬된다.
sort 메소드의 동작원리는 다음과 같다.
const letters = ['D', 'C', 'E', 'B', 'A'];
const numbers = [1, 10, 4, 21, 36000];
letters.sort();
numbers.sort();
console.log(letters); // (5) ["A", "B", "C", "D", "E"]
console.log(numbers); // (5) [1, 10, 21, 36000, 4]
sort 메소드를 사용했지만 아규먼트를 작성하지 않아
유니코드에 정의된 문자열 순서에 따라 결정되었다.
이번에는 sort 메소드에 다음과 같은 콜백함수를 아규먼트로 작성하였다.
const numbers = [1, 10, 4, 21, 36000];
// 오름차순 정렬
numbers.sort((a, b) => a - b);
console.log(numbers); // (5) [1, 4, 10, 21, 36000]
// 내림차순 정렬
numbers.sort((a, b) => b - a);
console.log(numbers); // (5) [36000, 21, 10, 4, 1]
하지만 sort 메소드를 사용할 때 주의해야 할 점은
메소드를 실행하는 원본 배열의 요소들을 정렬한다.
그래서 한 번 정렬하고 나면 정렬하기 전의 순서로 다시 되돌릴 수 없으니
미리 다른 변수에 복사해 두는 것이 좋다.
reverse 메소드
말 그대로 배열의 순서를 뒤집어 주는 메소드이며
reverse 메소드는 별도의 파라미터가 존재하지 않으며
단순히 메소드르 호출해주기만 하면 배열의 순서가 뒤집힌다.
단, sort 메소드와 마찬가지로 원본 배열의 요소를 뒤집어버리기 때문에
이 점 주의해야한다.
reverse 메소드의 동작원리는 다음과 같다.
const letters = ['a', 'c', 'b'];
const numbers = [421, 721, 353];
letters.reverse();
numbers.reverse();
console.log(letters); // (3) ["b", "c", "a"]
console.log(numbers); // (3) [353, 721, 421]
반응형
'JS' 카테고리의 다른 글
(30) Modern JavaScript - 배열 메소드 : Object 내장 메소드 (0) | 2024.12.13 |
---|---|
(29) Modern JavaScript - 배열 메소드 : Map, set (0) | 2024.12.13 |
(27) Modern JavaScript - 배열 메소드 : reduce (0) | 2024.12.12 |
(26) Modern JavaScript - 배열 메소드 : some, every (0) | 2024.12.11 |
(25) Modern JavaScript - 배열 메소드 : filter, find (0) | 2024.12.11 |