반응형
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);
반응형
'JavaScript' 카테고리의 다른 글
[#. Javascript] 휴대폰, 이메일 인증번호 타이머 (0) | 2021.08.24 |
---|---|
[#. Swiper] Swiper 슬라이드 작동 안 될 때 해결하기 (2) | 2021.08.12 |
[#. JavaScript] event.stopPropagation(), event. preventDefault()의 차이 (0) | 2021.06.10 |
[#. JavaScript] Date()를 YYYY-mm-ddT, 2021-06-04T00:47:25.919Z 형식으로 변환하기 (0) | 2021.06.07 |
[#. JavaScript] 기존 배열에 새로운 배열 추가하기 (0) | 2021.04.28 |