Destructuring을 사용하여 자바스크립트에서 중복된 값을 제외하기

자바스크립트에서 배열이나 객체가 중복된 값을 포함하고 있다면, 이를 중복되지 않는 값만 남기고 제외하고 싶을 수 있습니다. 이러한 상황을 처리하기 위해 “Destructuring”을 사용할 수 있습니다. Destructuring은 변수를 선언하고 동시에 배열이나 객체의 값을 추출하는 문법적인 기능을 제공합니다. 이를 활용하여 중복된 값을 제외하고 유니크한 값만을 추출해보겠습니다.

배열에서 중복된 값을 제외하기

우선 배열에서 중복된 값을 제외하는 방법을 알아보겠습니다. “Set” 객체를 사용하면 중복된 값을 제거할 수 있습니다.

const numbers = [1, 2, 3, 4, 2, 3, 5];
const uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]

위의 예제에서, 배열 numbers에 중복된 값이 있습니다. new Set을 사용해 중복 제거된 집합 객체를 생성하고, 이를 배열로 변환하기 위해 [...new Set(numbers)] 구문을 사용합니다. 결과로 중복이 제거된 배열 uniqueNumbers가 출력됩니다.

객체에서 중복된 값을 제외하기

객체에서 중복된 값을 제외하기 위해서는 reduce 함수와 객체 디스트럭처링을 사용할 수 있습니다. 아래의 예제를 통해 확인해보겠습니다.

const person = {
  name: 'John',
  age: 30,
  email: 'john@example.com',
  name: 'Jane',
  address: '123 Main St',
  age: 25,
};

const uniquePerson = Object.values(person).reduce(
  (acc, value) => {
    if (!acc.includes(value)) {
      acc.push(value);
    }
    return acc;
  },
  []
);

console.log(uniquePerson); // ['Jane', 'john@example.com', '123 Main St', 25]

위의 예제에서, 객체 person에는 nameage 필드의 값이 중복되어 있습니다. Object.values를 사용하여 객체의 값들을 배열로 변환하고, reduce를 사용하여 중복된 값을 제외하고 유니크한 값만을 추출합니다. 결과로 중복이 제거된 배열 uniquePerson이 출력됩니다.

Destructuring을 활용하여 자바스크립트에서 중복된 값 제외하기 방법을 알아보았습니다. 이를 통해 간편하게 중복 값을 필터링하고 유니크한 값만 추출할 수 있습니다. 이 기술은 코드를 간결하게 유지하면서 중복을 처리하는 데 도움을 줄 수 있습니다.

#javascript #destructuring