예: var Student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
첫 번째 아이디어는 다음과 같습니다. 삭제할 배열 arr을 탐색하고 해당 요소를 각각 다른 배열 tmp에 넣은 다음 해당 요소가 arr에 존재하지 않는다고 판단한 후에야 tmp에 넣을 수 있습니다.
두 가지 함수가 사용됩니다: for ...in 및 indexOf()
<script type="text/javascript"> var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for(var i in arr){ //该元素在tmp内部不存在才允许追加 if(tmp.indexOf(arr[i])==-1){ tmp.push(arr[i]); } } return tmp; } </script>
두 번째 아이디어는 다음과 같습니다. 대상 배열 arr의 요소 값과 키 위치를 교환하면 중복된 요소가 자동으로 삭제됩니다. 스왑은 다음과 같습니다. array('qiang'=> ;1 ,'밍'=>1,'타오'=>1)
<script type="text/javascript"> var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ var tmp = new Array(); for(var m in arr){ tmp[arr[m]]=1; } //再把键和值的位置再次调换 var tmparr = new Array(); for(var n in tmp){ tmparr.push(n); } return tmparr; } </script>