Arrays in JavaScript duplizieren: Vergleich von Slice und Loop auf Geschwindigkeit
Wenn man in JavaScript vor der Aufgabe steht, ein Array zu duplizieren, stößt man auf zwei gängige Ansätze: die Slice-Methode und eine for-Schleife. Obwohl beide Methoden ein flaches Kopieren ermöglichen, bei dem Objektreferenzen und nicht die Objekte selbst dupliziert werden, können ihre Geschwindigkeitsleistungen variieren.
Leistungsbenchmarks
Umfangreiche Benchmarks haben ergeben, dass sie optimal sind Die Klonmethode hängt vom verwendeten Browser ab. Bei Blink-Browsern (z. B. Chrome, Edge) dominiert die Methode „slice()“ und übertrifft die for-Schleife um das 2,4-fache. In Nicht-Blink-Browsern ist jedoch die for-Schleife die schnellste Option.
Beispiel-Leistungsskripte
Um diese Unterschiede zu veranschaulichen, betrachten Sie die folgenden Leistungsskripte die Sie in der Konsole Ihres Browsers ausführen können:
Für Schleife:
n = 1000*1000; start = + new Date(); a = Array(n); b = Array(n); i = a.length; while(i--) b[i] = a[i]; console.log(new Date() - start);
Slice:
n = 1000*1000; start = + new Date(); a = Array(n); b = a.slice(); console.log(new Date() - start);
Beachten Sie, dass sich diese Skripte auf das Klonen der Array-Objekte selbst konzentrieren. Der Inhalt der Arrays, der möglicherweise Objektreferenzen enthält, wird durch Referenz kopiert und nicht tief geklont.
Das obige ist der detaillierte Inhalt vonSlice vs. For-Schleife: Welche JavaScript-Array-Duplikationsmethode ist schneller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!