Heim >Web-Frontend >js-Tutorial >Wie konvertiert man eine HTMLCollection effizient in ein Array?

Wie konvertiert man eine HTMLCollection effizient in ein Array?

DDD
DDDOriginal
2024-11-20 03:13:01946Durchsuche

How to Efficiently Convert an HTMLCollection to an Array?

Effiziente HTMLCollection-zu-Array-Konvertierung

Die Konvertierung einer HTMLCollection in ein Array kann durch iterative Methoden erreicht werden, indem jedes Element manuell an ein Array angehängt wird. Es gibt jedoch effizientere Ansätze für diese Konvertierung.

Native-Code-Ansatz:

Ein solcher Ansatz nutzt die Slice-Methode des Array.prototype, wie durch den folgenden Codeausschnitt veranschaulicht:

var arr = Array.prototype.slice.call(htmlCollection);

Diese Methode emuliert effektiv die Funktionalität der iterativen Iteration und bietet so ein effizientes Mittel zur Konvertierung.

Kurze Version:

Der Kürze halber erzielt der folgende Ausdruck das gleiche Ergebnis:

var arr = [].slice.call(htmlCollection);

Array.from (ES6):

In ECMAScript 2015 und späteren Versionen bietet die Methode Array.from eine native Lösung zum Konvertieren iterierbarer Objekte in Arrays, einschließlich HTMLCollections:

var arr = Array.from(htmlCollection);

Spread Operator (ES6):

Der in ES6 eingeführte Spread-Operator stellt eine funktional äquivalente Methode zu Array.from bereit, wie unten dargestellt:

var arr = [...htmlCollection];

Leistungsvergleich:

Eine vergleichende Analyse dieser Methoden finden Sie im folgenden Benchmark: http://jsben.ch/h2IFA

Das obige ist der detaillierte Inhalt vonWie konvertiert man eine HTMLCollection effizient in ein Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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