자바스크립트에서 배열을 정렬하기 위해서 sort()함수를 이용할 수 있다.
arr.sort([compareFunction])
compareFunction → 정렬 순서를 정의하는 함수.
compareFunction 규칙에 따라서 정렬된 배열을 리턴합니다.
이때, 원본 배열인 arr가 정렬이 되고, 리턴하는 값 또한 원본 배열인 arr을 가리키고 있음에 유의
const arr1 = [2, 1, 3];
const arr2 = ['banana', 'apple', 'orange']
arr1.sort();
document.writeln(arr1 + '<br>'); // [1, 2, 3]
arr2.sort();
document.writeln(arr2 + '<br>'); // ['apple', 'banana', 'orange']
[결과]
1,2,3
apple,banana,orange
const arr = [2, 1, 3, 10];
arr.sort(function(a, b) {
return a - b;
});
document.writeln(arr + '<br>'); // [1, 2, 3, 10]
const arr = [2, 1, 3, 10];
arr.sort(function(a, b) {
return b - a;
});
document.writeln(arr + '<br>'); // [10, 3, 2, 1]
const arr = ['banana', 'b', 'boy'];
arr.sort();
document.writeln(arr + '<br>');
// ['b', 'banana', 'boy']
//파라미터가 없다면, 문자열의 유니코드 순서대로 정렬하기에 오름차순에는 필요 없다.
const arr = ['banana', 'b', 'boy'];
arr.sort(function(a, b) {
if(a < b) return 1;
if(a > b) return -1;
if(a === b) return 0;
});
document.writeln(arr + '<br>'); // ['boy', 'banana', 'b']
const arr = [
{name: 'banana', price: 3000},
{name: 'apple', price: 1000},
{name: 'orange', price: 500}
];
arr.sort(function(a, b) {
return a.price - b.price;
});
document.writeln(JSON.stringify(arr[0]) + '<br>');
document.writeln(JSON.stringify(arr[1]) + '<br>');
document.writeln(JSON.stringify(arr[2]) + '<br>');
객체를 정렬 할 때에는 특정 Key를 지정해줘야 한다.