관리 메뉴

Life goes slowly...

[Javascript] 자바스크립트(JS)의 객체정렬함수 - sort(), reverse() 본문

프로그래밍/Javascript

[Javascript] 자바스크립트(JS)의 객체정렬함수 - sort(), reverse()

빨강소 2021. 3. 16. 16:56
728x90
반응형

 

 

자바스크립트(Javascript)의 객체 정렬하기

자바스크립트(Javascript)의 함수 중에는 객체(Object) 배열을 정렬할 수 있는 sort() 함수가 있습니다. sort() 함수는 배열의 요소를 적절한 위치에 지정한 뒤에 그 배열을 반환하는 함수입니다.  sort() 함수는 내림차순으로 정렬을 하며 오름차순으로 정렬을 하기 위해서는 reverse() 함수를 사용하면 됩니다.

 

//sort 함수로 정렬하기
let monthsData = ['March', 'Jan', 'Feb', 'Dec'];
monthsData.sort();
console.log(monthsData);


let countData = [1, 5, 8, 3, 13, 1000, 33];
countData.sort();
console.log(countData);


============================================================

["Dec", "Feb", "Jan", "March"]
[1, 1000, 13, 3, 33, 5, 8]

 

//object key 값으로 정렬하기
let nameAge = [
    { name: '철수', Age: 13 },
    { name: '영희', Age: 16 },
    { name: '영수', Age: 11 },
    { name: '동건', Age: 17 },
    { name: '원빈', Age: 12 },
];
let ageResult;
let nameResult;
 
// 나이순으로 정렬
ageResult = nameAge.sort(function (a, b) {
    return a.Age - b.Age;
});
 
console.log(ageResult);
 
// 이름순으로 정렬
nameResult = nameAge.sort(function (a, b) {
    let x = a.name.toLowerCase();
    let y = b.name.toLowerCase();
    if (x < y) {
        return -1;
    }
    if (x > y) {
        return 1;
    }
    return 0;
});

console.log(nameResult);


================================================================

[[object Object] {
  Age: 11,
  name: "영수"
}, [object Object] {
  Age: 12,
  name: "원빈"
}, [object Object] {
  Age: 13,
  name: "철수"
}, [object Object] {
  Age: 16,
  name: "영희"
}, [object Object] {
  Age: 17,
  name: "동건"
}]


[[object Object] {
  Age: 17,
  name: "동건"
}, [object Object] {
  Age: 11,
  name: "영수"
}, [object Object] {
  Age: 16,
  name: "영희"
}, [object Object] {
  Age: 12,
  name: "원빈"
}, [object Object] {
  Age: 13,
  name: "철수"
}]

 

 

728x90
반응형
Comments