[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를 이용한 방법
filter
와 indexOf
를 이용해서 중복된 요소를 제거하는 방법도 있습니다. 이 방법은 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로 배열에서 중복된 요소를 제거하는 방법에 대해 알아보았습니다.