JavaScript
[#. JavaScript] sort()를 이용해서 오름차순, 내림차순 정렬하기
shab
2021. 7. 14. 16:35
반응형
sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환하며
return 값이 음수, 양수, 0인지에 따라서 순서를 정한다
파라미터로 보통 a, b 두 개의 값을 받으며,
a는 배열의 n+1 값, b는 n 값이다
const arr = [2, 1, 3, 10];
var data = arr.sort((a, b) => {
console.log(a, b);
// 1 2
// 3 1
// 10 3
});
❶ a, b 파라미터 값이 없을 경우
배열의 값들은 유니코드 값 순서대로 정렬된다
const arr = [2, 1, 3, 10];
arr.sort();
console.log(arr); // [1, 10, 2, 3]
❷ a, b 파라미터 값이 있을 경우
함수의 리턴 값이 0보다 작은 음수일 경우, a가 b보다 앞에 오도록 정렬하고(오름차순)
함수의 리턴 값이 0보다 큰 양수일 경우, b가 a보다 앞에 오도록 정렬한다(내림차순)
리턴 값이 0일 경우, a와 b의 순서를 변경하지 않는다
① sort() 오름차순 정렬
const arr = [2, 1, 3, 10];
const ab = arr.sort((a, b) => {
return a - b;
});
console.log(data); // [1, 2, 3, 10]
② sort() 내림차순 정렬
const arr = [2, 1, 3, 10];
const ba = arr.sort((a, b) => {
return b - a;
});
console.log(data); // [10, 3, 2, 1]
datas 배열의 value 값을 기준으로 내림차순 정렬
const datas = [
{"id": 1, "value": 111},
{"id": 2, "value": 222},
{"id": 3, "value": 333}
]
const desc = datas.sort((a, b) => b.value - a.value);
console.log(desc);
반응형