Maison  >  Article  >  interface Web  >  Le moyen le plus rapide de supprimer les doublons d'un tableau en javascript

Le moyen le plus rapide de supprimer les doublons d'un tableau en javascript

PHPz
PHPzoriginal
2023-05-16 09:40:37627parcourir

En tant que langage de script, JavaScript est largement utilisé dans le développement Web et la conception d'interfaces utilisateur frontales car il est facile à lire et à écrire. En tant que structure de données courante, les tableaux jouent souvent un rôle important dans l'utilisation de JavaScript, comme le parcours en boucles, le tri, etc. Lors de l'exécution d'opérations sur un tableau, nous rencontrons souvent une duplication d'éléments du tableau. À ce stade, nous devons effectuer des opérations de déduplication sur le tableau.

Alors, comment dédupliquer les tableaux JavaScript le plus rapidement ?

Méthode 1 : utiliser Set (ES6)

En JavaScript natif, Set résout très bien le problème de la déduplication des tableaux. Il peut rapidement effectuer des opérations de déduplication et de tri pour un nombre inconnu de collections d'éléments. Voici l'implémentation du code utilisant Set pour supprimer les doublons :

let uniqueArray = Array.from(new Set(originalArray)); 

Ou cela peut être écrit comme

let uniqueArray= [...new Set(originalArray)]; 

Parmi eux, la méthode Array.from() est utilisée pour convertir Set en tableau, [...] est le opérateur d'expansion, qui convertit directement Set en tableau.

La méthode de déduplication utilisant Set a un code simple et est plus efficace lors du traitement de tableaux à grande échelle. Cependant, cette méthode n'est pas très compatible avec le navigateur IE, il est donc recommandé de vérifier si le navigateur prend en charge Set avant utilisation.

Méthode 2 : utiliser indexOf

L'utilisation de la méthode indexOf peut facilement déterminer si l'élément du tableau existe, réalisant ainsi la fonction de déduplication du tableau. Voici le code d'utilisation de indexOf pour implémenter la déduplication de tableau :

let uniqueArray = [];
for(let i = 0; i < originalArray.length; i++){
    if(uniqueArray.indexOf(originalArray[i]) === -1){
        uniqueArray.push(originalArray[i]);
    }
}

Dans cette implémentation, nous utilisons le tableau uniqueArray pour stocker des éléments uniques, parcourons le tableau d'origine originalArray et déterminons si les éléments qu'il contient existent déjà dans uniqueArray If. ils n'existent pas, puis ajoutez-le à uniqueArray.

Bien que la taille du code de cette méthode soit légèrement compliquée, elle est très rapide dans les tableaux plus petits car elle ne nécessite qu'une seule boucle.

Méthode 3 : Utilisez la nouvelle méthode ES6 include

ES6 a une nouvelle méthode include, qui peut être utilisée pour vérifier si un tableau contient un certain élément. La méthode include est beaucoup plus rapide que indexOf lors du traitement de grands tableaux. Voici le code à utiliser pour implémenter la déduplication de tableau :

let uniqueArray = [];
for(let i = 0; i < originalArray.length; i++){
    if(!uniqueArray.includes(originalArray[i])){
        uniqueArray.push(originalArray[i]);
    }
}

Similaire à la méthode indexOf, cette implémentation utilise également un nouveau tableau uniqueArray pour stocker les éléments non dupliqués. Cette approche est lisible et permet une déduplication rapide dans les grandes baies.

Conclusion

Parmi les trois méthodes ci-dessus, l'utilisation de Set est la plus simple et la plus rapide. Mais il convient de noter que vous devez vérifier si le navigateur est compatible avec Set. La méthode indexOf est plus lisible, mais ne convient qu'aux petits tableaux. L'utilisation de la méthode include d'ES6 permet de gérer de grands tableaux, et elle est également plus courte et plus facile à lire.

Dans les projets réels, essayez d'utiliser différentes méthodes et choisissez la méthode qui vous convient le mieux en fonction de la situation réelle.

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