Méthode de déduplication de tableau JS : 1. Méthode de parcours de tableau ; 2. Méthode de jugement d'indice de tableau ; 3. Méthode de suppression adjacente après le tri ; 4. Méthode de parcours de tableau optimisée ;
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur DELL G3.
Méthode de déduplication de tableau JS :
La première méthode : parcourir le tableau
Cette méthode est la plus simple et la plus intuitive , et le plus simple à comprendre, le code est le suivant :
Cette méthode est facile à comprendre, en utilisant la méthode indexOf()
(la méthode indexOf() renvoie la valeur interrogée s'il est interrogé, l'index du premier résultat du tableau, s'il n'est pas trouvé, -1 est renvoyé). Créez d'abord un nouveau tableau vide pour stocker le nouveau tableau dédupliqué, puis parcourez le tableau arr. Pendant le processus de parcours, déterminez s'il y a des éléments dans l'arr parcouru dans le tableau newArr. Sinon, ajoutez-les directement à newArr . il existe déjà (dupliquer), alors aucune opération n'est effectuée, puis il est parcouru du début à la fin, ce qui atteint exactement l'objectif de la déduplication.
Deuxième type : méthode de jugement d'indice de tableau
Cette méthode est également plus facile à comprendre. Le code est le suivant :
Cela chevauche la première méthode. Ne dites rien de redondant. Regardez simplement si pendant le processus de parcours de arr, si vous trouvez la valeur actuelle dans le tableau arr, l'index renvoyé est égal à i dans le. boucle actuelle. , cela prouve que cette valeur apparaît pour la première fois, elle est donc poussée dans le nouveau tableau. Si une valeur apparue est parcourue plus tard, son index ne sera pas renvoyé. premier trouvé. L'index de la valeur, donc les doublons seront transmis et les valeurs qui n'apparaissent qu'une seule fois sont stockées dans le nouveau tableau, ce qui atteint également l'objectif de déduplication.
La troisième méthode : méthode de suppression adjacente après tri
Cette méthode utilise la méthode sort(), le code est le suivant :L'idée de cette méthode est : utilisez d'abord la méthode sort() pour trier les arr, puis après le tri, les mêmes doivent être les uns à côté des autres, il suffit de les supprimer, d'abord initialiser le nouveau tableau Un arr[0], car nous devons l'utiliser pour comparer avec le tableau arr, donc je commence également à partir de 1 dans la boucle for Nous comparons la valeur dans arr parcourue avec le dernier bit du nouveau tableau s'ils sont égaux. , Ensuite, évanouissez-vous et insérez si elles ne sont pas égales, car le tableau a été réorganisé et les doublons sont côte à côte. Cela garantit que seule la première des valeurs en double sera insérée, et le reste. sera combiné avec le nouveau tableau. Si les éléments insérés sont égaux, ils seront supprimés, ce qui produit également l'effet de déduplication.
La quatrième méthode : méthode de parcours de tableau optimisée
Idée : deux couches de boucle for, la couche externe sert à contrôler le traversée vers l'élément dans l'arr précédent, la couche interne contrôle les éléments après l'élément accédé par la première couche, en commençant par le 0ème élément et en comparant le 0ème élément avec l'élément après lui, s'il n'est pas égal à cet élément, cela prouve qu'il n'y a pas de duplication, poussez-le dans un nouveau tableau et stockez-le s'il y a un élément égal à cet élément, transmettez-le et entrez directement dans la boucle suivante. En commençant par le premier, continuez à comparer avec les éléments derrière, procédez comme ci-dessus et bouclez jusqu'à la fin : tous les éléments non répétitifs sont poussés dans le nouveau tableau, tandis que les éléments précédents qui sont répétés disparaissent, ne laissant que Si le dernier élément est supprimé, il ne sera plus répété à ce moment-là, un nouveau tableau sera poussé et tous les éléments répétés seront filtrés, atteignant ainsi l'objectif de déduplication.La cinquième méthode : méthode de traversée de tableau
Idée : c'est aussi une boucle for à deux couches, et la boucle for externe la boucle contrôle le parcours du tableau arr, la boucle for interne contrôle le parcours du nouveau tableau, à partir de la position 0, si l'élément parcouru dans le tableau arr n'existe pas dans le nouveau tableau, alors la valeur de la variable d'état bl est toujours vraie , alors il entrera naturellement Poussez cette valeur dans le nouveau tableau dans if. S'il y a cet élément, cela signifie une répétition. Ensuite, changez la valeur de la variable d'état bl en false et sortez de la boucle actuelle. à l'intérieur de if, mais entrez dans la couche externe suivante. Démarrez le cycle. Ce cycle se répète et finalement l'effet de déduplication est obtenu.Recommandations d'apprentissage gratuites associées :
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!