배열 정렬(오름차순 및 내림차순)

//정렬할 배열
var test = [3, 9, 1, 8];

//배열 정렬
test.sort();

//결과값
[1, 3, 8, 9]
 
test.reverse();
 
//결과값
[9, 8, 3, 1]

객체정렬(오름차순)

//정렬할 객체 배열 var test = { id: "test", name: "test", children: [ { name: "3번", seq: 3 }, { name: "7번", seq: 7 }, { name: "1번", seq: 1 }, { name: "4번", seq: 4 } ] }; //현재 객체 배열을 정렬 test.children.sort(function (a, b) { return a.seq < b.seq ? -1 : a.seq > b.seq ? 1 : 0; });

// 더 간단한 방법

test.children.sort(function (a, b) {

return a.seq < b.seq ? -1 : 1;

});

//결과값 { id: "test", name: "test", children: [ { name: "1번", seq: 1 }, { name: "3번", seq: 3 }, { name: "4번", seq: 4 }, { name: "7번", seq: 7 } ] }

.sort() method 안에 함수를 파라미터로 넣어 1, -1, 0을 리턴하여 순서를 정하는 방식이다.

seq를 기준으로 내림차순으로 정렬하고 싶은 경우 부등호의 위치를 변경하거나 -1과 1의 자리를 변경하면 된다.



+ Random Posts