사용자 도구

사이트 도구


wiki:javascript:javascript_note:js_array_sort

문서의 이전 판입니다!


JavaScript Sorting Arrays

  • description : JavaScript Sorting Arrays
  • author : 오션
  • email : shlim@repia.com
  • lastupdate : 2021-04-27


The source of this article

Sorting an Array

sort() 메서드는 배열을 알파벳 순서로 정렬합니다.

let fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits; // Banana,Orange,Apple,Mango
 
function myFunction() {
  fruits.sort();
  document.getElementById("demo").innerHTML = fruits;   // Apple,Banana,Mango,Orange
}


Reversing an Array

reverse() 메서드는 배열의 요소를 뒤집습니다.

이를 사용하여 배열을 내림차순으로 정렬할 수 있습니다.

// Create and display an array:
let fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo1").innerHTML = fruits;    // Banana,Orange,Apple,Mango
 
function myFunction() {
  fruits.sort();            // First sort the elements of fruits
  document.getElementById("demo2").innerHTML = fruits;  // Apple,Banana,Mango,Orange
  fruits.reverse();         // Them reverse the order of the elements
  document.getElementById("demo3").innerHTML = fruits;  // Orange,Mango,Banana,Apple
}


Numeric Sort

기본적으로, sort() 함수는 값을 문자열로 정렬합니다.

이것은 문자열에서 잘 작동합니다 (“Apple”은 “Banana”앞에 옵니다).

그러나 숫자를 문자열로 정렬하면 “2”가 “1”보다 크기 때문에 “25”가 “100”보다 큽니다.

이 때문에 sort() 메서드는 숫자를 정렬할 때 잘못된 결과를 생성합니다.

비교 기능(compare function)을 제공하여 이 문제를 해결할 수 있습니다:

let points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;   // 40,100,1,5,25,10
 
function myFunction() {
  points.sort(function (a, b) { return a - b });
  document.getElementById("demo").innerHTML = points; // 1,5,10,25,40,100
}


동일한 방법을 사용하여 배열을 내림차순으로 정렬합니다:

let points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;   // 40,100,1,5,25,10
 
function myFunction() {
  points.sort(function (a, b) { return b - a });
  document.getElementById("demo").innerHTML = points; // 100,40,25,10,5,1
}
/volume1/web/dokuwiki/data/attic/wiki/javascript/javascript_note/js_array_sort.1619500421.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)