javascript 객체 정렬(object sort)

▶︎ javascript 객체를 정렬하기 위해서는 sort함수를 사용한다. 아래는 정렬하고자 하는 예제 객체 배열이고 age속성을 비교하고자 한다.

let sortArray = [
    {name:'mirinae1', age:23},
    {name:'mirinae3', age:21},
    {name:'mirinae7', age:2},
    {name:'mirinae4', age:34},
    {name:'mirinae2', age:55},
];

▶︎ 먼저 정렬하기 전과 정렬 후의 객체를 비교하기 위해서 정렬전의 객체를 복사(deep copy)해 준다

let beforeArray = JSON.parse(JSON.stringify(sortArray));// 객체의 함수는 복사하지 않는다.
// let beforeArray = {...sortArray};// 객체의 함수까지 복사한다.

▶︎ 객체 배열 정렬(sort) 함수, sortArray가 age로 정렬된다.

sortArray.sort((a,b)=>{
    if(a.age>b.age) {
        return 1;
    }
    if(a.age<b.age) {
        return -1;
    }
    return 0;
});

▶︎ 정렬 전/후 객체 확인

console.log('>>> before');
console.log(beforeArray);

console.log('>>> after');
console.log(sortArray);
object sort before/after

▶︎ 전체 소스

'use strict';

let sortArray = [
    {name:'mirinae1', age:23},
    {name:'mirinae3', age:21},
    {name:'mirinae7', age:2},
    {name:'mirinae4', age:34},
    {name:'mirinae2', age:55},
];

let beforeArray = JSON.parse(JSON.stringify(sortArray));

sortArray.sort((a,b)=>{
    if(a.age>b.age) {
        return 1;
    }
    if(a.age<b.age) {
        return -1;
    }
    return 0;
});

console.log('>>> before');
console.log(beforeArray);

console.log('>>> after');
console.log(sortArray);