프로그램을 작성하는 과정에서 배열에서 중복된 요소를 제거해야 하는 경우가 종종 있습니다. 작은 배열의 경우 이중 루프를 사용하여 이를 달성할 수 있습니다. 하지만 배열이 상대적으로 크다면 그 안에 수만 개의 요소가 있습니다. 그렇다면 이중 순환을 사용하는 것은 매우 비효율적입니다. 이제 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]) == 'undefined'){ 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!