>  기사  >  웹 프론트엔드  >  JavaScript 배열에서 중복 요소를 제거하는 방법에 대한 아이디어 및 코드 예제에 대한 자세한 설명

JavaScript 배열에서 중복 요소를 제거하는 방법에 대한 아이디어 및 코드 예제에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-24 13:27:331660검색

프로그램을 작성하는 과정에서 배열에서 중복된 요소를 제거해야 하는 경우가 종종 있습니다. 작은 배열의 경우 이중 루프를 사용하여 이를 달성할 수 있습니다. 하지만 배열이 상대적으로 크다면 그 안에 수만 개의 요소가 있습니다. 그렇다면 이중 순환을 사용하는 것은 매우 비효율적입니다. 이제 js의 기능을 사용하여 배열에서 중복 요소를 제거하는 효율적인 방법을 작성하겠습니다.

<script> 
function unique(data){ 
data = data || []; 
var a = {}; 
for (var i=0; i<data.length; i++) { 
var v = data[i]; 
if (typeof(a[v]) == &#39;undefined&#39;){ 
a[v] = 1; 
} 
}; 
data.length=0; 
for (var i in a){ 
data[data.length] = i; 
} 
return data; 
} 
function test(){ 
var arr = [9,1,3,8,7,7,6,6,5,7,8,8,7,4,3,1]; 
var arr1 = unique(arr); 
alert(arr1.join(",")); 
} 
test(); 
</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;i<len ;i++){ 
for(var j=i+1;j<len;j++){ 
if(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[item] = true; 
} 
} 
return newArray; 
}

임시 임시 테이블 개체를 사용하고 배열 값을 키로 사용하는 것입니다. ProvisionalTable 개체 값 중 해당 값이 없으면 이 배열의 값을 새 배열로 푸시합니다.

위 내용은 JavaScript 배열에서 중복 요소를 제거하는 방법에 대한 아이디어 및 코드 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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