배열에서 중복 요소를 제거하기 위한 JavaScript 메서드 예제 요약

伊谢尔伦
풀어 주다: 2017-07-22 14:07:29
원래의
1381명이 탐색했습니다.

배열 중복 제거;

배열 유형은 중복 제거 방법을 제공하지 않습니다. 배열에서 중복 요소를 제거하려면 직접 방법을 찾아야 합니다.

방법 1: indexOf 방법을 사용합니다.

var aa=[1,3,5,4,3,3,1,4]
function arr(arr) {
  var result=[]
  for(var i=0; i<arr.length; i++){
    if(result.indexOf(arr[i])==-1){
      result.push(arr[i])
    }
  }
  console.log(result)
}      
arr(aa)
로그인 후 복사

방법 2:

function unique(arr) {
  var result = [], isRepeated;
  for (var i = 0, len = arr.length; i < len; i++) {
    isRepeated = false;
    for (var j = 0, len = result.length; j < len; j++) {
      if (arr[i] == result[j]) {  
        isRepeated = true;
        break;
      }
    }
    if (!isRepeated) {
      result.push(arr[i]);
    }
  }
  return result;
}
로그인 후 복사

일반적인 아이디어는 배열 요소를 다른 배열로 하나씩 전송하는 것입니다. 전송 프로세스 중에 요소가 중복되는지 확인하고, 그렇다면 직접 폐기합니다. 중첩 루프에서 볼 수 있듯이 이 방법은 매우 비효율적입니다. 해시테이블 구조를 사용하여 기존 요소를 기록하면 내부 루프를 피할 수 있습니다. Javascript에서 해시테이블을 구현하는 것은 매우 간단합니다. 개선 사항은 다음과 같습니다.

function unique(arr) {
  var result = [], hash = {};
  for (var i = 0, elem; (elem = arr[i]) != null; i++) {
    if (!hash[elem]) {
      result.push(elem);
      hash[elem] = true;
    }
  }
  return result;
}
로그인 후 복사

위 내용은 배열에서 중복 요소를 제거하기 위한 JavaScript 메서드 예제 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿