Heim > Web-Frontend > js-Tutorial > Ist Array.from() wirklich der schnellste Weg, eine NodeList in ein Array zu konvertieren?

Ist Array.from() wirklich der schnellste Weg, eine NodeList in ein Array zu konvertieren?

Linda Hamilton
Freigeben: 2024-11-02 18:10:28
Original
827 Leute haben es durchsucht

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

Die optimale Konvertierung von JavaScript NodeList zu Array: Leistungsvergleich

Frühere Diskussionen haben vorgeschlagen, eine NodeList mit Array.prototype in ein Array zu konvertieren .slice.call(nl) ist der effizienteste Ansatz. Aktuelle Leistungsbenchmarks haben diese Vorstellung jedoch in Frage gestellt.

Benchmarking der beiden Methoden

Während die Methode Array.prototype.slice.call(nl) allgemein als schnell angesehen wird Experimente in Chromium 6 haben gezeigt, dass es deutlich langsamer ist als eine einfache for-Schleife:

<code class="javascript">// Using a 'for' loop
var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);</code>
Nach dem Login kopieren

Dieses Ergebnis mag angesichts der wahrgenommenen Effizienz der Slice()-Methode überraschend sein.

Geben Sie Array.from() von ES6 ein

Mit der Einführung von ES6 haben wir jetzt eine optimierte Lösung für diese Aufgabe: die Funktion Array.from(). Mit dieser Funktion können wir ein Array aus einem iterierbaren Objekt erstellen, das NodeLists enthält.

<code class="javascript">// Using Array.from()
let myArray = Array.from(nl)</code>
Nach dem Login kopieren

Leistungsvorteile von Array.from()

Array.from( ) übertrifft sowohl Slice() als auch die einfache for-Schleife in puncto Geschwindigkeit. Dies ist auf die optimierte Implementierung zurückzuführen, die den ES6-Spread-Operator nutzt, um das Array effizient zu erstellen.

Fazit

Während die alten Techniken zum Konvertieren von NodeLists in Arrays möglicherweise immer noch vorhanden sind Obwohl sie ihre Verwendungsmöglichkeiten haben, hat sich die Einführung von Array.from() als der schnellste und bequemste Ansatz etabliert. Durch die Nutzung der erweiterten Funktionen von ES6 können Entwickler diese Konvertierung jetzt mühelos und effizient durchführen.

Das obige ist der detaillierte Inhalt vonIst Array.from() wirklich 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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage