Maison  >  Article  >  interface Web  >  Comment supprimer les doublons d'un tableau javascript

Comment supprimer les doublons d'un tableau javascript

藏色散人
藏色散人original
2021-04-08 11:22:428346parcourir

Méthodes pour supprimer les doublons des tableaux JavaScript : 1. Utilisez la méthode "indexOf()" pour supprimer les valeurs en double ; 2. Utilisez la méthode splice pour supprimer les valeurs en double ; 3. Utilisez le nouvel ensemble Set dans es6 pour ; supprimer les valeurs en double.

Comment supprimer les doublons d'un tableau javascript

L'environnement d'exploitation de cet article : système Windows 7, version JavaScript 1.8.5, ordinateur Dell G3.

Plusieurs méthodes pour supprimer les valeurs en double des tableaux js

Dans le développement quotidien, nous pouvons rencontrer la suppression des valeurs en double d'un tableau, alors je partagerai plusieurs méthodes que j'ai apprises

Méthodes pour supprimer les valeurs en double des tableaux :

1 Utilisez la méthode indexOf() pour supprimer

Idée : Créer un Créer un. nouveau tableau, puis parcourez le tableau à dupliquer, puis utilisez le nouveau tableau pour trouver la valeur du tableau à dupliquer. S'il est introuvable, utilisez .push pour l'ajouter au nouveau tableau, et enfin renvoyez le. nouveau tableau retour

Peu importe si vous ne le comprenez pas, ce sera plus facile à comprendre après avoir lu le code

function fun(arr){
 let newsArr = [];
 for (let i = 0; i < arr.length; i++) {
  if(newsArr.indexOf(arr[i]) === -1){
   newsArr.push(arr[i]);
  }
 }
 return newsArr;
}

2, utilisez la méthode d'épissage pour supprimer

Idée : Cette méthode imite un peu le bouillonnement. Deux couches de boucles, la boucle externe traverse le tableau, la boucle interne compare les valeurs, utilisez splice pour les supprimer et renvoyer le tableau traité. 🎜>

Peu importe si vous ne le comprenez pas. Le code sera plus facile à comprendre

function fun(arr){
 for (let i = 0; i < arr.length; i++) {
  for(let j = i+1; j < arr.length; j++){
   if(arr[i]==arr[j]){
    arr.splice(j,1);          j--;
   }
  }
 }
 return arr;
}

3 Utilisation Le nouvel ensemble Set dans es6 est supprimé

. Voici une brève introduction à la collection Set. Elle est très familière avec le tableau, mais ce n'est pas un tableau, mais une collection. Il contient également de nombreuses méthodes, telles que ajouter (ajouter), supprimer (supprimer), vérifier (has), etc.

Sa caractéristique la plus importante est la suivante : les éléments ne peuvent pas être répétés, c'est-à-dire que les mêmes éléments n'apparaîtront pas dans la collection Set

Solution de déduplication de set 1 :

Idée : Parce que la collection Set Les valeurs en double n'y sont pas autorisées, nous pouvons alors utiliser cette fonctionnalité pour transmettre notre tableau à dédupliquer

Tout d'abord, créez une nouvelle collection Set et transmettez le tableau dédupliqué en tant que paramètre, puis créez un nouveau tableau et une boucle Parcourez l'ensemble, ajoutez chaque élément de l'ensemble au nouveau tableau, et enfin renvoyez le nouveau tableau

function fun(arr){
 let s1 = new Set(arr);
 let arr2 = [];
 for(let item of s1){
  arr2.push(item);
 }
 return arr2;
}

Set solution de déduplication 2 (utilisez la méthode de tableau Array.form()) :

Idée : Array.from(); peut convertir des pseudo-tableaux et des collections en types de tableaux. Cette méthode combinée à la collection Set répond tout simplement à nos besoins

[Apprentissage recommandé :

Tutoriel avancé Javascript 】

function fun(arr){
 let s1 = new Set(arr); 
 return Array.from(s1);
}
Définir la solution de déduplication 3 (en utilisant l'opérateur d'expansion es6...) :

Idée : l'opérateur d'expansion es6 peut convertir un tableau en une séquence de paramètres séparés par des virgules

function fun(arr){
 let s1 = new Set(arr); 
 return [...s1];
}

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!

Déclaration:
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