[javascript] 객체 순회를 통한 속성의 중복 제거하기

자바스크립트에서는 객체를 순회하면서 객체의 속성을 중복으로 제거하는 방법을 살펴볼 수 있습니다. 객체를 순회하면서 속성을 중복없이 추출하는 방법은 다양한 상황에서 유용하게 사용될 수 있습니다. 이번 글에서는 for...in 루프와 Set을 활용하여 객체의 중복 속성을 제거하는 방법에 대해 알아보겠습니다.

객체 순회하기

우선 객체를 순회하는 방법에 대해 알아보겠습니다. 아래 예제는 for...in 루프를 사용하여 객체를 순회하고 해당 속성을 콘솔에 출력하는 코드입니다.

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

for (let key in obj) {
  console.log(key, obj[key]);
}

위 예제를 실행하면 a, b, c 속성이 중복되어 있음을 확인할 수 있습니다. 이제 이 중복된 속성을 제거하는 방법에 대해 알아보겠습니다.

중복 속성 제거하기

중복 속성을 제거하기 위해 for...in 루프와 Set을 활용할 수 있습니다. 아래 예제는 중복된 속성을 제거하고 콘솔에 출력하는 코드입니다.

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

const uniqueKeys = new Set();
const newObj = {};

for (let key in obj) {
  if (!uniqueKeys.has(key)) {
    uniqueKeys.add(key);
    newObj[key] = obj[key];
  }
}

console.log(newObj);

위 예제를 실행하면 { a: 4, b: 2, c: 3 }가 콘솔에 출력됨을 확인할 수 있습니다. 중복된 a 속성이 제거된 것을 확인할 수 있습니다.

이렇게 for...in 루프와 Set을 활용하여 객체의 속성을 중복으로 제거할 수 있습니다. 유용한 팁이었기를 바라며, 도움이 되셨기를 바랍니다.

참고 자료