Maison > interface Web > js tutoriel > Quelle méthode de duplication de tableau JavaScript (tranche ou boucle For) est la plus rapide ?

Quelle méthode de duplication de tableau JavaScript (tranche ou boucle For) est la plus rapide ?

Mary-Kate Olsen
Libérer: 2024-12-10 10:24:15
original
967 Les gens l'ont consulté

Which JavaScript Array Duplication Method (Slice vs. For Loop) is Fastest?

Comparaison de la vitesse de duplication de tableaux en JavaScript : Slice vs. For Loop

En JavaScript, il existe deux méthodes courantes pour créer une copie d'un tableau : la méthode slice et une boucle for. Pour effectuer une analyse approfondie de leurs vitesses respectives, diverses méthodes de duplication ont été comparées, révélant des résultats surprenants.

Mesures de vitesse

Les benchmarks effectués sur différents navigateurs ont montré que la méthode la plus rapide pour dupliquer un tableau dépend du moteur de navigateur utilisé. Pour les navigateurs comme Blink (Chrome, Edge), la méthode slice surpasse généralement la boucle for, la concat étant légèrement plus lente.

Cependant, pour les navigateurs avec des implémentations moins optimisées de slice et concat, comme les anciennes versions de Firefox et Internet Explorer, la méthode de la boucle while apparaît clairement comme la gagnante.

Exemple de code

Ici sont des exemples de scripts que vous pouvez utiliser pour comparer vous-même les méthodes dans la console de votre navigateur :

// While loop method
var n = 1000 * 1000;
var start = +new Date();
var a = Array(n);
var b = Array(n);
var i = a.length;
while (i--) b[i] = a[i];
console.log(new Date() - start);

// Slice method
var n = 1000 * 1000;
var start = +new Date();
var a = Array(n);
var b = a.slice();
console.log(new Date() - start);
Copier après la connexion

Considérations

Il est important de noter que même si les méthodes slice ou for loop dupliquera le tableau lui-même, le contenu du tableau est copié par référence et non profondément cloné. Cela signifie que les modifications apportées à l'un ou l'autre des tableaux seront reflétées dans les deux.

Alors, quelle méthode devriez-vous choisir ? Pour la plupart des navigateurs modernes, la méthode slice est la meilleure option. Toutefois, si vous ciblez des navigateurs plus anciens avec des implémentations JavaScript moins optimisées, la méthode de la boucle for peut être plus performante.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal