>  기사  >  웹 프론트엔드  >  자바스크립트 배열에서 중복 항목을 제거하는 가장 빠른 방법

자바스크립트 배열에서 중복 항목을 제거하는 가장 빠른 방법

PHPz
PHPz원래의
2023-05-16 09:40:37627검색

스크립팅 언어인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.