Vergleich der Geschwindigkeit des Duplizierens von Arrays in JavaScript: Slice vs. For-Schleife
In JavaScript gibt es zwei gängige Methoden zum Erstellen eines Duplikats eines Arrays: die Slice-Methode und eine for-Schleife. Um eine gründliche Analyse ihrer jeweiligen Geschwindigkeiten durchzuführen, wurden verschiedene Duplikationsmethoden einem Benchmarking unterzogen, der einige überraschende Ergebnisse lieferte.
Geschwindigkeitsmessungen
Benchmarks, die über verschiedene Browser hinweg durchgeführt wurden, haben dies gezeigt Die schnellste Methode zum Duplizieren eines Arrays hängt von der verwendeten Browser-Engine ab. Bei Browsern wie Blink (Chrome, Edge) übertrifft die Slice-Methode im Allgemeinen die for-Schleife, wobei Concat etwas langsamer ist.
Allerdings für Browser mit weniger optimierten Implementierungen von Slice und Concat, wie etwa ältere Versionen von Firefox und Internet Explorer geht die While-Schleifenmethode als klarer Gewinner hervor.
Beispielcode
Hier sind Beispielskripte, mit denen Sie die Methoden selbst in der Konsole Ihres Browsers vergleichen können:
// While loop method var n = 1000 * 1000; var start = +new Date(); var a = Array(n); var b = Array(n); var i = a.length; while (i--) b[i] = a[i]; console.log(new Date() - start); // Slice method var n = 1000 * 1000; var start = +new Date(); var a = Array(n); var b = a.slice(); console.log(new Date() - start);
Überlegungen
Es ist wichtig zu beachten, dass es sich bei den Methoden „slice“ oder „for“ um Schleifen handelt dupliziert das Array selbst, der Inhalt des Arrays wird per Referenz kopiert und nicht tief geklont. Das bedeutet, dass Änderungen an einem der Arrays in beiden widergespiegelt werden.
Welche Methode sollten Sie also wählen? Für die meisten modernen Browser ist die Slice-Methode die beste Option. Wenn Sie jedoch auf ältere Browser mit weniger optimierten JavaScript-Implementierungen abzielen, kann die For-Loop-Methode möglicherweise eine bessere Leistung erbringen.
Das obige ist der detaillierte Inhalt vonWelche JavaScript-Array-Duplikationsmethode (Slice vs. For-Schleife) ist am schnellsten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!