[javascript] 객체 순회 결과를 다른 형태로 변환하기

JavaScript에서 객체를 순회하고 그 값을 다른 형태로 변환해야 하는 경우가 많이 있습니다. 이런 작업을 해야 하는 상황이라면, Object.fromEntries 메서드를 사용하여 간단하게 객체를 변환할 수 있습니다.

Object.fromEntries 메서드란?

Object.fromEntries는 ES10(ECMAScript 2019)에서 추가된 메서드로, 배열로 이루어진 일련의 키-값 쌍을 객체로 변환합니다. 이 메서드를 사용하면 객체를 쉽게 새로운 형태로 변환할 수 있습니다.

아래는 Object.fromEntries 메서드를 이용한 예제입니다.

const obj = { name: 'John', age: 30, city: 'New York' };

const arr = Object.entries(obj);
// arr 값: [ ['name', 'John'], ['age', 30], ['city', 'New York'] ]

const newObj = Object.fromEntries(arr);
// newObj 값: { name: 'John', age: 30, city: 'New York' }

Object.fromEntries 메서드 사용 예제

객체의 속성값 두 배로 만들기

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

const doubledObj = Object.fromEntries(
    Object.entries(originalObj).map(([key, value]) => [key, value * 2])
);
// 결과: { a: 2, b: 4, c: 6 }

객체의 키와 값을 바꾸기

const originalObj = { name: 'John', age: 30, city: 'New York' };

const newObj = Object.fromEntries(
    Object.entries(originalObj).map(([key, value]) => [value, key])
);
// 결과: { John: 'name', 30: 'age', 'New York': 'city' }

Object.fromEntries 메서드는 객체를 변환하고 연산을 쉽게 할 수 있게 도와줍니다. 복잡한 객체를 다룰 때 유용하게 사용할 수 있는 메서드입니다.

결론

JavaScript의 Object.fromEntries 메서드를 이용하면 객체의 순회 결과를 다른 형태로 쉽게 변환할 수 있습니다. 이를 이용하여 코드를 더욱 간결하게 작성하고, 원하는 형태로 객체를 가공할 수 있습니다.

참고: MDN Web Docs: Object.fromEntries