Par exemple : var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
La première idée est : Parcourez le tableau arr à supprimer, mettez les éléments dans un autre tableau tmp respectivement, et seulement après avoir jugé que l'élément n'existe pas dans arr peut-il être mis dans tmp
Deux fonctions sont utilisées : for ...in et 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>
La deuxième idée est la suivante : L'échange des valeurs des éléments et des positions clés du tableau cible arr supprimera automatiquement les éléments en double. L'échange ressemblera à : array('qiang'=> ;1. ,'ming'=>1,'tao'=>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>