[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
메서드를 사용하여 객체를 순회하여 새로운 객체를 생성할 수 있습니다.