Maison > interface Web > js tutoriel > Explication détaillée des idées et du code d'implémentation pour supprimer les éléments en double des tableaux JavaScript

Explication détaillée des idées et du code d'implémentation pour supprimer les éléments en double des tableaux JavaScript

伊谢尔伦
Libérer: 2017-07-22 14:11:40
original
1089 Les gens l'ont consulté

La déduplication de tableaux Javascript est une exigence relativement courante, et il existe de nombreuses solutions

Idées :

Traverse le tableau, comparez un par un, supprimez les suivants s'ils sont identiques

Parcourez le tableau, comparez un par un, comparez les mêmes, sautez les doublons précédents, et mettez les différents dans le nouveau tableau

Mettez n'importe quel élément du tableau dans le nouveau tableau, parcourez les éléments restants du tableau, choisissez-en un, comparez-le un par un avec les éléments du nouveau tableau, s'il y a des différences, mettez-le dans le nouveau tableau.

Parcourez le tableau, prenez un élément comme attribut de l'objet et déterminez si l'attribut existe

1 Supprimez les répétés :


function ov(arr){
 //var a=((new Date).getTime())
 for(var i=;i<arr.length;i++)
 for(var j=i+;j<arr.length;j++)
  if(arr[i]===arr[j]){arr.splice(j,);j--;}  
 //console.info((new Date).getTime()-a)  
 return arr.sort(function(a,b){return a-b});
}
Copier après la connexion

2. Il s'agit d'une méthode conventionnelle, plus facile à comprendre. Si elles sont identiques, sortez de la boucle <🎜. >


function ov(a) {
 //var a=((new Date).getTime())
 var b = [], n = a.length, i, j;
 for (i = ; i < n; i++) {
 for (j = i + ; j < n; j++)
  if (a[i] === a[j]){j=false;break;}
 if(j)b.push(a[i]);
 }
 //console.info((new Date).getTime()-a) 
 return b.sort(function(a,b){return a-b});
}
Copier après la connexion
3. Il m'a fallu beaucoup de temps pour comprendre cela. Bien que la boucle j continue ici, la valeur i a changé. Cela équivaut à une nouvelle boucle i :


function ov(a) {
 //var a=((new Date).getTime())
 var b = [], n = a.length, i, j;
 for (i = ; i < n; i++) {
 for (j = i + ; j < n; j++)
 if (a[i] === a[j])j=++i
 b.push(a[i]);}
 //console.info((new Date).getTime()-a) 
 return b.sort(function(a,b){return a-b});
}
Copier après la connexion
4. Assurez-vous que tout dans le nouveau tableau est unique

.


function ov(ar){
//var a=((new Date).getTime())
 var m=[],f;
 for(var i=;i<ar.length;i++){
 f=true;
 for(var j=;j<m.length;j++)
 if(ar[i]===m[j]){f=false;break;};
 if(f)m.push(ar[i])}
//console.info((new Date).getTime()-a) 
 return m.sort(function(a,b){return a-b});
}
Copier après la connexion
5. Utiliser les attributs d'objet


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

É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