Maison > interface Web > js tutoriel > Array.from() est-il vraiment le moyen le plus rapide de convertir une NodeList en tableau ?

Array.from() est-il vraiment le moyen le plus rapide de convertir une NodeList en tableau ?

Linda Hamilton
Libérer: 2024-11-02 18:10:28
original
857 Les gens l'ont consulté

  Is Array.from() Truly the Fastest Way to Convert a NodeList to an Array?

La conversion optimale de JavaScript NodeList en tableau : comparaison des performances

Des discussions précédentes ont suggéré que la conversion d'une NodeList en tableau à l'aide de Array.prototype .slice.call(nl) est l’approche la plus efficace. Cependant, de récents benchmarks de performances ont remis en question cette notion.

Analyse comparative des deux méthodes

Alors que la méthode Array.prototype.slice.call(nl) est largement considérée comme rapide , des expériences dans Chromium 6 ont montré qu'elle est nettement plus lente qu'une simple boucle for :

<code class="javascript">// Using a 'for' loop
var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);</code>
Copier après la connexion

Ce résultat peut surprendre, compte tenu de l'efficacité perçue de la méthode slice().

Entrez Array.from() d'ES6

Avec l'avènement d'ES6, nous disposons désormais d'une solution simplifiée à cette tâche : la fonction Array.from(). Cette fonction nous permet de créer un tableau à partir d'un objet itérable, qui inclut des NodeLists.

<code class="javascript">// Using Array.from()
let myArray = Array.from(nl)</code>
Copier après la connexion

Avantages en termes de performances d'Array.from()

Array.from( ) surpasse à la fois slice() et la simple boucle for en termes de vitesse. Ceci est attribué à sa mise en œuvre optimisée, qui exploite l'opérateur de propagation ES6 pour créer efficacement le tableau.

Conclusion

Bien que les anciennes techniques de conversion de NodeLists en tableaux puissent encore ont leur utilité, l'introduction de Array.from() l'a établi comme l'approche la plus rapide et la plus pratique. En tirant parti des fonctionnalités avancées d'ES6, les développeurs peuvent désormais effectuer cette conversion sans effort et efficacement.

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