Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 배열에서 중복 요소를 손쉽게 제거하는 방법 – Set 객체 활용하기

자바스크립트에서 배열에 같은 값이 여러 번 들어 있을 때, 중복된 요소를 간단하게 제거할 수 있는 방법이 있습니다. 바로 Set 객체를 활용하는 것입니다.

예시 배열

다음과 같은 숫자 배열이 있다고 가정해 보겠습니다.

10, 20, 10, 50, 60, 10, 20, 40, 50

위 배열에는 10, 20, 50이 각각 두 번 이상 등장합니다. 이런 중복 요소를 제거하려면 new Set()을 사용하면 됩니다.

Set으로 중복 제거하는 원리

Set은 자바스크립트의 내장 객체로, 중복되지 않는 고유한 값만 저장하는 특징이 있습니다. 따라서 배열을 Set으로 변환하면 자동으로 중복이 걸러지고, 전개 연산자(...)를 사용해 다시 배열 형태로 되돌릴 수 있습니다.

예제 코드

실제 동작하는 코드는 다음과 같습니다.

var arrayWithNoDuplicateNumbers = [...new Set([10, 20, 10, 50, 60, 10, 20, 40, 50])];
console.log("No Duplicate values=")
console.log(arrayWithNoDuplicateNumbers);

실행 방법

Node.js 환경에서 위 프로그램을 실행하려면 터미널에서 아래 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo243.js라고 가정하겠습니다.

실행 결과

프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\javascript-code> node demo243.js
No Duplicate values=
[ 10, 20, 50, 60, 40 ]

출력 결과를 보면 원래 배열에서 중복되었던 10, 20, 50이 하나씩만 남고, 각 값의 첫 등장 순서가 그대로 유지된 것을 확인할 수 있습니다.

마무리

이처럼 [...new Set(배열)] 한 줄이면 별도의 반복문이나 필터 로직 없이도 중복 요소를 깔끔하게 제거할 수 있습니다. 코드가 짧고 가독성이 좋아 실무에서도 널리 사용되는 패턴이니 꼭 기억해 두세요.