오늘은 배열에서 중복값을 제거하는 방법에 대해서 포스팅을 해보려한다.
위 코드는 간략하게 얘기하면 투표항목을 클릭하면 하위depth의 투표 항목까지
전부 불러오는 코드중 일부분이다.
아무튼 하위항목들을 찾아서 기존dto에 push하다가 console.log 창을보니 중복된 값도 같이 쌓이고 있었다.
하위 항목 찾을 때 기존항목 if문으로 비교 후 제거하거나, 정 안되면 for문으로 돌려서 비교후 제외시켜도 되지만
Array에서 바로 처리하는 방법이 있나 궁금해서 찾아보다가
"new Set()" 이라는 방법을 찾게 되었다.
new Set()
- Set 객체는 자바스크립트에서 유일한 값의 집합을 표현할 수 있다.
- 배열의 중복 값을 제거하려면 Set을 이용하면 정말 쉽게 할 수 있다.
사용 방법은 다음과 같다.
- new Set(numbers)는 numbers 배열의 중복 값을 제거한 Set 객체를 만들어준다.
- 스프레드 연산자 ...를 사용하면, Set 객체를 다시 배열로 변환할 수 있다.
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
이제 기존코드에 적용을 해보자.
정말 간단하게 배열의 중복값을 제거 해버렸다.
new Set()은 간단하고 직관적이고, 코드 길이를 줄이고 가독성을 높일 수 있었다.
다른 복잡한 로직 없이도 중복 제거를 할 수 있어서 만족스럽다 !
'Programming Language > Javascript' 카테고리의 다른 글
[Javascript] this_코어 자바스크립트 (0) | 2023.08.22 |
---|---|
[Javascript] console.dir()로 객체의 모든 depth 구조 출력 (0) | 2023.08.15 |
[Javascript] 실행 컨텍스트_코어 자바스크립트 (0) | 2023.08.13 |
[Javascript] 데이터 타입_코어 자바스크립트 (0) | 2023.08.07 |
[Javascript] null 병합연산자 "??" (0) | 2023.04.11 |