프로그램을 작성하는 과정에서 배열에서 중복된 요소를 제거해야 하는 경우가 종종 있습니다. 사실 이 기능을 구현하는 것은 어렵지 않습니다.
이를 달성하기 위해 이중 루프를 사용할 수 있습니다. 작은 배열의 경우 그렇게 해도 아무런 문제가 없습니다.
그러나 배열이 상대적으로 크다면 그 안에 수만 개의 요소가 있을 것입니다. 그렇다면 이중 순환을 사용하는 것은 매우 비효율적입니다.
아래에서는 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 배열 중복 제거는 배열에서 중복된 요소를 제거하는 것입니다.
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 루프가 내장되어 있다는 것은 분명합니다. 이는 많은 양의 데이터를 처리할 때 매우 많은 시간이 소요될 것입니다! 검색과 전문가의 조언을 통해 새로운 방법이 최적화되었습니다:
코드 복사
코드는 다음과 같습니다.
효율성은 향상되었으나, 배열에 변환 가능한 숫자와 문자열이 사용되는 것으로 가정됩니다. 예를 들어 배열 [6, "6"] 중 하나가 이때 제거됩니다. 비극과 해결책을 찾고 있습니다.