[javascript] 객체의 속성 값 기준으로 정렬하여 순회하기

자바스크립트에서 객체를 사용할 때, 때로는 속성 값에 따라 객체를 정렬하고 순회해야 하는 경우가 있습니다. 이를 위해 Object.entries()Array.prototype.sort()를 사용하여 객체를 정렬하고 순회할 수 있습니다.

1. 객체 정렬하기

다음은 객체를 속성 값 기준으로 정렬하는 방법입니다.

const obj = { a: 3, b: 1, c: 2 };

const sortedObj = Object.fromEntries(Object.entries(obj).sort(([,a], [,b]) => a - b));

위의 코드에서 Object.entries() 메서드는 객체의 속성과 값을 배열의 형태로 반환합니다. 그 후 Array.prototype.sort() 메서드를 사용하여 배열을 정렬합니다. 마지막으로 Object.fromEntries() 메서드를 사용하여 정렬된 배열을 다시 객체로 변환합니다.

2. 정렬된 객체 순회하기

정렬된 객체를 순회하려면 for...in문이나 Object.keys()와 같은 메서드를 사용하여 순회할 수 있습니다.

for (const key in sortedObj) {
  console.log(`${key}: ${sortedObj[key]}`);
}

또는

Object.keys(sortedObj).forEach(key => {
  console.log(`${key}: ${sortedObj[key]}`);
});

이제, 속성 값에 따라 객체를 정렬하고 순회하는 방법에 대해 알아보았습니다.

참고 자료