JavaScript는 array_javascript 팁에서 중복 요소를 제거합니다.

WBOY
풀어 주다: 2016-05-16 18:12:10
원래의
1161명이 탐색했습니다.

프로그램을 작성하는 과정에서 배열에서 중복된 요소를 제거해야 하는 경우가 종종 있습니다. 사실 이 기능을 구현하는 것은 어렵지 않습니다.
이를 달성하기 위해 이중 루프를 사용할 수 있습니다. 작은 배열의 경우 그렇게 해도 아무런 문제가 없습니다.
그러나 배열이 상대적으로 크다면 그 안에 수만 개의 요소가 있을 것입니다. 그렇다면 이중 순환을 사용하는 것은 매우 비효율적입니다.
아래에서는 js의 기능을 사용하여 배열에서 중복 요소를 제거하는 효율적인 방법을 작성해 보겠습니다.

코드 복사 코드는 다음과 같습니다.

<script> (데이터) { <br>데이터 = 데이터 || <br>var a = {} <br>for (var i=0; i<data.length; i ) { <BR>var v = 데이터 [i] ; <BR>if (typeof(a[v]) == '정의되지 않음'){ <BR>a[v] = 1 <BR>} <BR>data.length=0 ; <BR>for (var i in a){ <BR>data[data.length] = i <BR>} <BR>return data; <BR>} <BR>function test(){ <BR>var; arr = [ 9,1,3,8,7,7,6,6,5,7,8,8,7,4,3,1] <BR>var arr1 = 고유(arr); Alert(arr1 .join(",")); <BR>} <BR>test(); <BR></script>


출력 결과:
9,1 3,8 ,7,6,5,4
JS 배열 중복 제거는 배열에서 중복된 요소를 제거하는 것입니다.



코드 복사 코드는 다음과 같습니다. Array.prototype.delRepeat=function(){
var newArray=new Array()
var len=this.length; >for (var i =0;ifor(var j=i 1;jif(this[i]===this[j]) {
j = i;
}
}
newArray.push(this[i])
}
return newArray; 🎜> 하지만 또 다른 for 루프에 for 루프가 내장되어 있다는 것은 분명합니다. 이는 많은 양의 데이터를 처리할 때 매우 많은 시간이 소요될 것입니다! 검색과 전문가의 조언을 통해 새로운 방법이 최적화되었습니다:




코드 복사

코드는 다음과 같습니다.
Array.prototype.delRepeat=function(){ var newArray=[]; var ProvisionalTable = {}; for (var i = 0, item; (item= this[i]) != null; i ) { if (!provisionalTable[ item]) { newArray.push(item ; 해당 값은 ProvisionalTable 객체의 키 값으로 사용되며 해당 값이 존재하지 않는 경우 이 배열의 값이 새 배열로 푸시됩니다.
효율성은 향상되었으나, 배열에 변환 가능한 숫자와 문자열이 사용되는 것으로 가정됩니다. 예를 들어 배열 [6, "6"] 중 하나가 이때 제거됩니다. 비극과 해결책을 찾고 있습니다.

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