Maison > interface Web > js tutoriel > js supprime les éléments en double dans un tableau et conserve une (deux idées d'implémentation) compétences_javascript

js supprime les éléments en double dans un tableau et conserve une (deux idées d'implémentation) compétences_javascript

WBOY
Libérer: 2016-05-16 16:39:02
original
1406 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal