자바스크립트 배열의 요소를 특정 기준으로 중복 제거하기

자바스크립트에서는 배열 내의 중복된 요소를 제거하는 다양한 방법을 제공합니다. 이러한 중복 제거 기능은 배열을 처리하고 데이터를 정리하는 작업에 유용합니다. 이번 블로그 포스트에서는 자바스크립트에서 배열의 요소를 특정 기준으로 중복 제거하는 방법을 알아보겠습니다.

1. Set 사용하기

Set은 자바스크립트에서 유일한 값을 저장하는 객체입니다. Set을 사용하면 중복을 자동으로 제거할 수 있습니다. 아래는 Set을 이용하여 배열의 중복된 요소를 제거하는 예시 코드입니다.

const array = [1, 2, 3, 3, 4, 5, 5];
const uniqueArray = [...new Set(array)];

console.log(uniqueArray); // [1, 2, 3, 4, 5]

위의 코드에서 [...new Set(array)] 부분은 Set 객체를 생성한 후에 Spread 문법을 사용하여 다시 배열로 변환하는 부분입니다. 이를 통해 중복이 제거된 배열인 uniqueArray를 얻을 수 있습니다.

2. Filter와 IndexOf를 사용하기

Filter와 IndexOf 함수를 사용하여 중복된 요소를 제거하는 방법도 있습니다. 아래 예시 코드를 확인해보세요.

const array = [1, 2, 3, 3, 4, 5, 5];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);

console.log(uniqueArray); // [1, 2, 3, 4, 5]

위의 코드에서 filter 함수는 콜백 함수를 사용하여 배열의 요소를 필터링합니다. indexOf 함수를 사용하여 현재 요소의 인덱스가 처음 나타나는 위치와 같은지 검사하고, 같은 경우에만 해당 요소를 반환하여 중복을 제거합니다. 이를 통해 중복이 제거된 배열인 uniqueArray를 얻을 수 있습니다.

3. Reduce를 사용하기

Reduce 함수를 사용하여 배열에서 중복된 요소를 제거하는 방법도 있습니다. 아래 코드를 참고해보세요.

const array = [1, 2, 3, 3, 4, 5, 5];
const uniqueArray = array.reduce((result, item) => {
  return result.includes(item) ? result : [...result, item];
}, []);

console.log(uniqueArray); // [1, 2, 3, 4, 5]

위의 코드에서 reduce 함수는 누적 값을 계산하기 위해 사용됩니다. 초기값으로 빈 배열을 설정하고, 배열의 각 요소가 누적 값에 포함되어 있는지 확인하여 중복을 제거합니다. 이를 통해 중복이 제거된 배열인 uniqueArray를 얻을 수 있습니다.

정리

이번 블로그 포스트에서는 자바스크립트에서 배열의 요소를 특정 기준으로 중복 제거하는 방법을 알아보았습니다. Set을 사용하거나 Filter와 IndexOf, Reduce 함수를 사용하여 중복된 요소를 제거할 수 있습니다. 각 방법마다 장단점이 있으므로 상황에 맞게 선택하여 사용하면 됩니다.