>  기사  >  웹 프론트엔드  >  js는 배열에서 중복 요소를 삭제하고 하나(두 가지 구현 아이디어)_javascript 기술을 유지합니다.

js는 배열에서 중복 요소를 삭제하고 하나(두 가지 구현 아이디어)_javascript 기술을 유지합니다.

WBOY
WBOY원래의
2016-05-16 16:39:021388검색

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