- sort를 사용하면서, 실상 sort를 잘 알지 못 하는데 관습적으로 사용하고 있다는 느낌을 받았다.
- sort에 대해서 더 잘 이해하고 잘 사용할 수 있도록 sort에 대해서 알아보기로 하였다.
const arr = ['d', 'dex', 'dd', 'b', 'aasdzx', 'f asdf'];
arr.sort();
console.log(arr);
// ['aasdzx', 'b', 'd', 'dd', 'dex', 'f asdf']
const arr = [10, 4, 6, -34, 23, 9, 1, 0, -35];
arr.sort((a, b) => a - b); // 오름차순
console.log(arr);
// [-35, -34, 0, 1, 4, 6, 9, 10, 23]
arr.sort((a, b) => b - a); // 내림차순
console.log(arr);
// [23, 10, 9, 6, 4, 1, 0, -34, -35]
const arr = [10, 4, 6, -34, 23, 9, 1, 0, -35];
arr.sort((a, b) => {
return a > b;
})
console.log(arr);
// [10, 4, 6, -34, 23, 9, 1, 0, -35]
arr.sort((a, b) => {
return a - b;
})
console.log(arr);
// [-35, -34, 0, 1, 4, 6, 9, 10, 23]
const arr = ['d', 'dex', 'dd', 'b', 'aasdzx', 'f asdf'];
arr.sort((a, b) => {
return a > b ? 1 : -1;
});
console.log(arr);
// ['aasdzx', 'b', 'd', 'dd', 'dex', 'f asdf']
arr.sort((a, b) => {
return a < b ? 1 : -1;
});
console.log(arr);
// ['f asdf', 'dex', 'dd', 'd', 'b', 'aasdzx']
const obj = [{name: "kim", age: 15},
{name: "kim", age: 45},
{name: "kim", age: 31},
{name: "lee", age: 6},
{name: "park", age: 85},
{name: "ace", age: 25}];
// name이 같으면 나이가 많은 순서대로
obj.sort((a, b) => {
if(a.name !== b.name) {
return a.name > b.name ? 1 : -1;
} else {
return b.age - a.age;
}
})
console.table(obj);
참고 자료 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort