Maison > interface Web > js tutoriel > Deux méthodes recommandées pour la déduplication des compétences JavaScript arrays_javascript

Deux méthodes recommandées pour la déduplication des compétences JavaScript arrays_javascript

WBOY
Libérer: 2016-05-16 15:06:36
original
1437 Les gens l'ont consulté

1. Déduplication de la baie

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

Méthode 1 : 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 2 :

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

Méthode 2, L'idée générale est de transférer les éléments du tableau vers un autre tableau un par un. Pendant le processus de transfert, vérifiez si l'élément est dupliqué, et si c'est le cas, jetez-le directement. 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 la boucle interne. 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

Les deux méthodes recommandées ci-dessus pour dédupliquer les tableaux JavaScript sont tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence et j'espère que vous prendrez en charge Script Home.

É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