자바스크립트 배열에서 중복 항목을 제거하는 가장 빠른 방법
스크립팅 언어인 JavaScript는 읽고 쓰기가 쉽기 때문에 웹 개발 및 프런트엔드 UI 디자인에 널리 사용됩니다. 일반적인 데이터 구조로서 배열은 루프 탐색, 정렬 등과 같이 JavaScript 사용에서 중요한 역할을 하는 경우가 많습니다. 어레이 작업을 수행할 때 어레이 요소 중복이 자주 발생합니다. 이때 어레이에서 중복 제거 작업을 수행해야 합니다.
그렇다면 JavaScript 배열의 중복을 가장 빠르게 제거하는 방법은 무엇일까요?
방법 1: Set 사용(ES6)
기본 JavaScript에서 Set은 배열 중복 제거 문제를 매우 잘 해결합니다. 알 수 없는 수의 요소 컬렉션에 대한 중복 제거 및 정렬 작업을 신속하게 완료할 수 있습니다. 다음은 Set을 사용하여 중복을 제거하는 코드 구현입니다.
let uniqueArray = Array.from(new Set(originalArray));
또는
let uniqueArray= [...new Set(originalArray)];
로 작성할 수도 있습니다. 그 중 Array.from() 메서드를 사용하여 Set을 배열로 변환하는데, [...]는 Set을 배열로 직접 변환하는 확장 연산자입니다.
Set을 사용한 중복 제거 방법은 코드가 간단하여 대규모 배열을 처리할 때 더 효율적입니다. 다만, 이 방법은 IE 브라우저와의 호환성이 좋지 않기 때문에, 사용 전 해당 브라우저가 Set을 지원하는지 확인하는 것이 좋습니다.
방법 2: indexOf 사용
indexOf 메서드를 사용하면 배열 요소의 존재 여부를 쉽게 확인할 수 있어 배열 중복 제거 기능을 구현할 수 있습니다. 다음은 indexOf를 사용하여 배열 중복 제거를 구현하는 코드입니다.
let uniqueArray = []; for(let i = 0; i < originalArray.length; i++){ if(uniqueArray.indexOf(originalArray[i]) === -1){ uniqueArray.push(originalArray[i]); } }
이 구현에서는 고유한 요소를 저장하기 위해 고유한 배열을 사용하고, 원본 배열의 원래 배열을 순회하며, 해당 요소가 고유한 배열 If에 이미 존재하는지 확인합니다. 존재하지 않는 경우 이를 UniqueArray에 추가합니다.
이 방법의 코드 크기는 약간 복잡하지만 한 번만 반복하면 되기 때문에 작은 배열에서는 매우 빠릅니다.
방법 3: 새로운 ES6 메서드 include 사용
ES6에는 배열에 특정 요소가 포함되어 있는지 확인하는 데 사용할 수 있는 새로운 포함 메서드가 있습니다. 포함 메서드는 대규모 배열을 처리할 때 indexOf보다 훨씬 빠릅니다. 다음은 배열 중복 제거를 구현하기 위해 포함을 사용하는 코드입니다.
let uniqueArray = []; for(let i = 0; i < originalArray.length; i++){ if(!uniqueArray.includes(originalArray[i])){ uniqueArray.push(originalArray[i]); } }
indexOf 메서드와 유사하게 이 구현은 또한 새로운 배열 고유 배열을 사용하여 중복되지 않은 요소를 저장합니다. 이 접근 방식은 읽기 쉽고 대규모 어레이에서 빠른 중복 제거를 허용합니다.
결론
위의 세 가지 방법 중 Set을 사용하는 것이 가장 간단하고 빠릅니다. 하지만 브라우저가 Set과 호환되는지 확인해야 한다는 점에 유의해야 합니다. indexOf 메서드는 더 읽기 쉽지만 작은 배열에만 적합합니다. ES6의 include 메소드를 사용하면 대규모 배열을 처리할 수 있으며 더 짧고 읽기 쉽습니다.
실제 프로젝트에서는 다양한 방법을 사용해 보고 실제 상황에 따라 가장 적합한 방법을 선택하세요.
위 내용은 자바스크립트 배열에서 중복 항목을 제거하는 가장 빠른 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Data Fetching 및 기능 구성 요소의 DOM 조작과 같은 부작용을 관리하기위한 후크 인 React의 useEffect에 대해 설명합니다. 메모리 누출과 같은 문제를 방지하기 위해 사용법, 일반적인 부작용 및 정리를 설명합니다.

게으른로드는 필요할 때까지 컨텐츠로드를 지연시켜 초기로드 시간과 서버로드를 줄임으로써 웹 성능 및 사용자 경험을 향상시킵니다.

JavaScript의 고차 기능은 추상화, 공통 패턴 및 최적화 기술을 통해 코드 간접성, 재사용 성, 모듈성 및 성능을 향상시킵니다.

이 기사는 다중 연계 기능을 단일 연계 함수 시퀀스로 변환하는 기술 인 JavaScript의 카레에 대해 논의합니다. Currying의 구현, 부분 응용 프로그램 및 실제 용도와 같은 혜택, 코드 읽기 향상을 탐색합니다.

이 기사는 가상 Dom 트리를 비교하여 DOM을 효율적으로 업데이트하는 React의 조정 알고리즘을 설명합니다. 성능 이점, 최적화 기술 및 사용자 경험에 미치는 영향에 대해 설명합니다. 문자 수 : 159

이 기사는 REACT의 USECONTEXT를 설명하며, 이는 PROP 시추를 피함으로써 상태 관리를 단순화합니다. 중앙 집중식 상태 및 성능 개선과 같은 렌더링을 통해 성능 향상과 같은 이점에 대해 논의합니다.

기사에서는 extentdefault () 메서드를 사용하여 이벤트 처리기의 기본 동작 방지, 향상된 사용자 경험과 같은 이점 및 접근성 문제와 같은 잠재적 문제에 대해 논의합니다.

이 기사는 예측 가능성, 성능 및 사용 사례와 같은 측면에 중점을 둔 React의 제어 및 통제되지 않은 구성 요소의 장단점에 대해 설명합니다. 그것은 그들 사이에서 선택할 때 고려해야 할 요소에 대해 조언합니다.
