Maison > Article > interface Web > `slice()` est-il toujours le moyen le plus rapide de convertir une NodeList en un tableau ?
Conversion de NodeList JavaScript en tableau : considérations relatives à la vitesse
Des discussions précédentes sur le sujet de la conversion de NodeLists en tableaux ont affirmé que l'utilisation de slice() La méthode est l’approche la plus efficace. Cependant, des benchmarks récents ont révélé un résultat surprenant.
Observations de benchmark
Dans des expériences menées sur Chromium 6, il a été découvert que la création d'un tableau à partir d'une NodeList à l'aide d'un simple La boucle for surpasse la méthode slice() de plus de trois fois. Ce résultat est en conflit avec les affirmations antérieures concernant la supériorité de slice().
Explications possibles
La raison de cet écart peut provenir d'optimisations spécifiques au navigateur ou de différences dans JavaScript implémentations de moteurs. Il est possible que le moteur Chromium gère la boucle for plus efficacement dans ce scénario.
Solution alternative avec ES6
Avec l'avènement d'ES6, une nouvelle solution concise est disponible : la fonction Array.from(). Cette fonction peut créer rapidement et facilement un tableau à partir de n'importe quel objet itérable, y compris les NodeLists.
// nl is a NodeList let myArray = Array.from(nl)
Conclusion
Bien que l'approche de la boucle for puisse offrir une vitesse surprenante dans certains navigateurs, la fonction Array.from() fournit une solution moderne et multiplateforme pour convertir des NodeLists en tableaux.
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!