[javascript] 자바스크립트로 배열에서 중복된 요소 제거하기

배열에서 중복된 요소를 제거하는 것은 자바스크립트에서 흔히 하는 작업 중 하나입니다. 이번 포스트에서는 몇 가지 방법을 소개하고 어떤 상황에서 어떤 방법을 사용해야 하는지 알아보겠습니다.

Set을 이용한 방법

가장 간단한 방법 중 하나는 Set 객체를 이용하는 것입니다. Set은 유일한 값들의 집합을 나타내며, 중복된 값을 허용하지 않습니다. 따라서 배열을 Set으로 변환하면 중복된 값이 사라집니다.

다음은 이 방법의 예제 코드입니다.

const arr = [1, 1, 2, 2, 3, 3];
const uniqueArray = [...new Set(arr)];
console.log(uniqueArray); // [1, 2, 3]

filter와 indexOf를 이용한 방법

filterindexOf를 이용해서 중복된 요소를 제거하는 방법도 있습니다. 이 방법은 ES6 이전 버전에서도 사용할 수 있습니다.

다음은 이 방법의 예제 코드입니다.

const arr = [1, 1, 2, 2, 3, 3];
const uniqueArray = arr.filter((value, index, self) => {
  return self.indexOf(value) === index;
});
console.log(uniqueArray); // [1, 2, 3]

Lodash 라이브러리를 이용한 방법

마지막으로 Lodash 라이브러리를 사용하는 방법도 있습니다. Lodash는 다양한 유틸리티 함수를 제공하며, 중복된 값을 제거하는 uniq 함수를 제공합니다.

다음은 Lodash를 사용하는 예제 코드입니다.

const _ = require('lodash');
const arr = [1, 1, 2, 2, 3, 3];
const uniqueArray = _.uniq(arr);
console.log(uniqueArray); // [1, 2, 3]

어떤 방법을 사용해야 할까요?

중복된 값을 제거하는 방법은 여러 가지가 있지만, 간단하고 성능이 좋은 Set을 사용하는 것이 가장 바람직합니다. 하지만 ES6 이전 환경이거나 Lodash를 사용하고 있을 경우에는 다른 방법을 사용할 수 있습니다.

이상으로 JavaScript로 배열에서 중복된 요소를 제거하는 방법에 대해 알아보았습니다.