본문 바로가기

코딩도 합니다/JS

[자바스크립트 js] sort 메소드 / reverse 메소드



  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]

 

 

콜백함수를 아규먼트로 작성하기

  • 주의할 점은, 메소드를 실행하는 원본 배열의 요소들을 정렬한다는 것.
  • 한 번 정렬하고 나면 정렬하기 전의 순서로 다시 되돌릴 수 없으니, 그런 경우에는 미리 다른 변수에 복사를 해두자.
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]

 

 

 

  reverse

  • 말 그대로 배열의 순서를 뒤집어 주는 메소드.
  • 별도의 파라미터가 존재하지 않기 때문에 단순히 메소드를 호출해주기만 하면 배열의 순서가 뒤집힌다.
  • sort 메소드와 마찬가지로 원본 배열의 요소들을 뒤집어 버린다는 점을 주의하자.
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]
728x90