Maison > Article > interface Web > Deux méthodes recommandées pour la déduplication des compétences JavaScript arrays_javascript
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)
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; }
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; }
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.