[javascript] 자바스크립트 객체의 특정 속성을 기준으로 배열 정렬하기
원하는 순서대로 자바스크립트 객체를 정렬하기 위해서는 배열의 sort
메서드를 사용할 수 있습니다. sort
메서드는 정렬함수를 매개변수로 받아서 사용자가 지정한 조건에 따라 객체를 정렬할 수 있습니다.
다음은 자바스크립트 객체의 특정 속성을 기준으로 배열을 정렬하는 간단한 예제입니다.
// 객체 배열 생성
let items = [
{ name: '사과', price: 100 },
{ name: '바나나', price: 80 },
{ name: '체리', price: 120 }
];
// price 속성을 기준으로 오름차순으로 정렬
items.sort((a, b) => {
return a.price - b.price;
});
console.log(items);
이 코드는 price
속성을 기준으로 객체 배열을 오름차순으로 정렬합니다.
만약 내림차순으로 정렬하고 싶다면, 정렬 함수를 다음과 같이 수정할 수 있습니다.
// price 속성을 기준으로 내림차순으로 정렬
items.sort((a, b) => {
return b.price - a.price;
});
console.log(items);
이제 price
속성을 기준으로 내림차순으로 객체 배열이 정렬됩니다.
이와 같이, 자바스크립트의 sort
메서드를 이용하면 간단히 객체 배열을 정렬할 수 있습니다.
더 나아가서 복잡한 정렬 조건을 적용하고 싶다면, sort
메서드의 정렬 함수에 더 많은 로직을 추가하여 원하는 대로 객체를 정렬할 수 있습니다.
참고 자료:
- MDN Web Docs: Array.prototype.sort()
- MDN Web Docs: Sorting an Array of Objects
- W3Schools - JavaScript Array Sort