[javascript] 배열 순회 시 요소 중복 제거하기

자바스크립트에서 배열을 순회하면서 중복된 요소를 제거하는 방법에 대해 알아보겠습니다.

우선 배열을 생성하고 중복된 요소를 포함한 예시를 만들겠습니다.

const array = [1, 2, 3, 4, 5, 6, 4, 2, 1];

배열을 순회하면서 중복된 요소를 확인하고 제거하기 위해서는 filter() 메소드와 indexOf() 메소드를 사용할 수 있습니다. filter() 메소드는 주어진 함수의 테스트를 통과하는 요소를 포함하는 새로운 배열을 생성합니다. indexOf() 메소드는 배열에서 특정 요소가 처음으로 등장하는 인덱스를 반환합니다.

const uniqueArray = array.filter((value, index) => {
  return array.indexOf(value) === index;
});

위의 코드에서는 filter() 메소드의 콜백 함수에서 배열에서 현재 요소가 처음으로 등장하는 인덱스와 현재 인덱스를 비교하고, 같으면 중복된 요소가 아니므로 포함시킵니다.

이제 uniqueArray 배열에는 중복된 요소가 제거된 결과가 담겨있습니다.

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

이와 같은 방법을 사용하여 배열을 순회하면서 중복된 요소를 제거할 수 있습니다.

위의 방법 외에도 Set 객체를 사용하여 중복된 요소를 제거할 수도 있습니다. Set 객체는 중복된 요소를 허용하지 않는 특징을 가지고 있으므로 중복된 요소를 제거할 때 유용합니다.

const uniqueArray = Array.from(new Set(array));

Set 객체로 변환한 후 Array.from() 메소드를 사용하여 다시 배열로 변환하는 방법입니다.

배열을 순회하면서 중복된 요소를 제거하는 여러 가지 방법을 알아보았습니다. 상황에 맞게 적절한 방법을 선택하여 사용하시면 됩니다.

참고 자료