Maison > interface Web > js tutoriel > le corps du texte

Résumé des méthodes JavaScript pour supprimer les éléments en double d'un tableau

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

Déduplication de tableau ;

Le type Array ne fournit pas de méthode de déduplication. Si vous souhaitez supprimer les éléments en double du tableau, vous devez trouver un moyen vous-même :

Première méthode : utilisez la méthode indexOf


var aa=[1,3,5,4,3,3,1,4]
function arr(arr) {
  var result=[]
  for(var i=0; i<arr.length; i++){
    if(result.indexOf(arr[i])==-1){
      result.push(arr[i])
    }
  }
  console.log(result)
}      
arr(aa)
Copier après la connexion

Méthode deux :


function unique(arr) {
  var result = [], isRepeated;
  for (var i = 0, len = arr.length; i < len; i++) {
    isRepeated = false;
    for (var j = 0, len = result.length; j < len; j++) {
      if (arr[i] == result[j]) {  
        isRepeated = true;
        break;
      }
    }
    if (!isRepeated) {
      result.push(arr[i]);
    }
  }
  return result;
}
Copier après la connexion

L'idée générale est que les éléments du tableau sont transférés un par un vers un autre tableau. Pendant le processus de transfert, les éléments sont vérifiés pour voir s'ils sont dupliqués. Si tel est le cas, ils sont directement supprimés. Comme le montrent les boucles imbriquées, cette méthode est extrêmement inefficace. Nous pouvons utiliser une structure de table de hachage pour enregistrer les éléments existants, afin d'éviter les boucles internes. Il se trouve que l'implémentation de hashtable en Javascript est extrêmement simple. Les améliorations sont les suivantes :


function unique(arr) {
  var result = [], hash = {};
  for (var i = 0, elem; (elem = arr[i]) != null; i++) {
    if (!hash[elem]) {
      result.push(elem);
      hash[elem] = true;
    }
  }
  return result;
}
Copier après la connexion
.

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