Heim >Web-Frontend >js-Tutorial >Ist „slice()' immer noch der schnellste Weg, eine NodeList in ein Array zu konvertieren?
JavaScript NodeList in Array konvertieren: Überlegungen zur Geschwindigkeit
Frühere Diskussionen zum Thema der Konvertierung von NodeLists in Arrays haben behauptet, dass die Verwendung von Slice() Methode ist der effizienteste Ansatz. Jüngste Benchmarks haben jedoch ein überraschendes Ergebnis ergeben.
Benchmark-Beobachtungen
In Experimenten, die mit Chromium 6 durchgeführt wurden, wurde festgestellt, dass das Erstellen eines Arrays aus einer NodeList mithilfe eines einfachen Die for-Schleife übertrifft die Methode „slice()“ um mehr als das Dreifache. Dieses Ergebnis steht im Widerspruch zu früheren Behauptungen bezüglich der Überlegenheit von Slice().
Mögliche Erklärungen
Der Grund für diese Diskrepanz könnte in browserspezifischen Optimierungen oder Unterschieden in JavaScript liegen Engine-Implementierungen. Es ist möglich, dass die Chromium-Engine in diesem Szenario die for-Schleife effizienter verarbeitet.
Alternative Lösung mit ES6
Mit der Einführung von ES6 eine neue und prägnante Lösung steht zur Verfügung: die Funktion Array.from(). Diese Funktion kann schnell und einfach ein Array aus jedem iterierbaren Objekt, einschließlich NodeLists, erstellen.
// nl is a NodeList let myArray = Array.from(nl)
Fazit
Während der for-Schleifenansatz mit Sicherheit eine überraschende Geschwindigkeit bieten kann Browsern bietet die Funktion Array.from() eine moderne und plattformübergreifende Lösung zum Konvertieren von NodeLists in Arrays.
Das obige ist der detaillierte Inhalt vonIst „slice()' immer noch der schnellste Weg, eine NodeList in ein Array zu konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!