Heim > Web-Frontend > js-Tutorial > So erstellen Sie Arrays in Stapeln mit Javascript

So erstellen Sie Arrays in Stapeln mit Javascript

迷茫
Freigeben: 2017-03-26 15:25:12
Original
2304 Leute haben es durchsucht

JavaScript bietet viele Möglichkeiten, Arrays stapelweise zu erstellen. Um deren Leistung zu messen, habe ich verschiedene Methoden verwendet, um ein Array mit einer Länge von 100.000 zu erstellen, und die Schlüssel und Werte sind gleich. Gleichzeitig habe ich die folgende Funktion definiert, um die Zeit zu messen, die zum Erstellen eines Arrays benötigt wird:

function t(fn) {
     var start = Date.now();
     fn.call(this);
     var end = Date.now();
     return (end - start) + 'ms';
 }
Nach dem Login kopieren

Im Folgenden sind einige häufig verwendete Methoden zum Erstellen von Arrays und die dafür benötigte Zeit aufgeführt:

Verbinden und Teilen verwenden

Diese Methode nimmt viel Zeit für den Kartenvorgang in Anspruch. es dauert nur 2 ms

Verwenden Sie apply

A { length: 100000 } Pseudo-Array , NodeList wird hier verwendet und Argumente sind beide Pseudo-Arrays (Array-ähnliche Objekte). Sie sind keine Arrays im eigentlichen Sinne, sondern Objekte mit einem „Längenattribut“ und einem „Indexattribut“. direkt verwendet werden, und apply und call können diese Art von Pseudo-Array akzeptieren. Das Array.prototype.slice(arguments), das wir normalerweise verwenden, basiert auf diesem Prinzip.

Hier wird ein Pseudo-Array mit einer Länge von 100.000 an die Array-Funktion übergeben, ein Array mit einer Länge von 100.000 erstellt und dann wird die Karte verwendet, um den Wert zuzuweisen. Einige Schüler fragen sich vielleicht: Warum nicht direkt Array (100000) verwenden, um ein Array zu generieren? Dies liegt daran, dass jeder Wert des durch Array (100000) generierten Arrays undefiniert ist und nicht über die Karte durchlaufen werden kann.

Verwenden Sie Array.from()

Dies ist eine neue Methode in ES6, die Pseudo-Arrays direkt in Arrays konvertieren kann

If Ersetzen Sie Pseudo-Arrays durch Arrays, und die Geschwindigkeit sinkt erheblich.

Verwenden Sie Array.fill()

Füllen Sie zuerst das Array mit Array.fill() und weisen Sie dann Werte nacheinander über die Karte zu

Verwenden Sie for-Schleife

Ich sagte, dass ich damals schockiert war, und ich Ich habe ständig nachgesehen, ob ich ein Dutzend 0 verpasst habe. Ich bin unzufrieden und möchte es mit Push versuchen

Nach dem Vergleich habe ich festgestellt, dass die ursprüngliche direkte Zuweisung der for-Schleife die ist am schnellsten, und die anderen Methoden sind fast gleich.

Aber die for-Schleife ist wirklich mühsam zu schreiben. Es sind drei Sätze erforderlich, um etwas zu tun, das in einem Satz erledigt werden kann.

Wenn also keine großen Leistungsanforderungen bestehen (schließlich wird es in der tatsächlichen Entwicklung kein Array mit einer Größe von 100.000 geben), ist es am bequemsten, apply und Array.from zu verwenden.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie Arrays in Stapeln mit Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage