[javascript] 객체 순회 결과를 새로운 객체로 생성하기

자바스크립트에서는 기존 객체를 순회하여 새로운 객체를 생성하는 경우가 많습니다. 이런 작업을 할 때는 for...in 루프나 Object.keys 메서드를 사용하여 객체의 속성을 순회하고, 새로운 객체에 값을 할당합니다.

for...in 루프를 사용한 예제

// 기존 객체
const originalObject = {
  name: 'John',
  age: 30,
  city: 'New York'
};

let newObject = {};

for (let key in originalObject) {
  newObject[key] = originalObject[key];
}

console.log(newObject); // { name: 'John', age: 30, city: 'New York' }

Object.keys 메서드를 사용한 예제

// 기존 객체
const originalObject = {
  name: 'John',
  age: 30,
  city: 'New York'
};

let newObject = {};

Object.keys(originalObject).forEach(key => {
  newObject[key] = originalObject[key];
});

console.log(newObject); // { name: 'John', age: 30, city: 'New York' }

위의 두 예제는 originalObject 객체를 순회하여 newObject를 생성하는 방법을 보여줍니다. for...in 루프와 Object.keys 메서드를 사용하여 동일한 결과를 얻을 수 있습니다.

Object.assign 메서드를 사용한 방식

또 다른 방법으로 Object.assign 메서드를 사용하여 새로운 객체를 생성할 수 있습니다.

// 기존 객체
const originalObject = {
  name: 'John',
  age: 30,
  city: 'New York'
};

const newObject = Object.assign({}, originalObject);

console.log(newObject); // { name: 'John', age: 30, city: 'New York' }

Object.assign을 사용하여 {} 빈 객체에 originalObject를 병합하면 새로운 객체가 생성됩니다.

이렇게 for...in 루프, Object.keys, Object.assign 메서드를 사용하여 객체를 순회하여 새로운 객체를 생성할 수 있습니다.

참고 자료