Home >Web Front-end >JS Tutorial >Slice vs. For Loop: Which JavaScript Array Duplication Method is Faster?
Duplicating Arrays in JavaScript: Comparing Slice and Loop for Speed
In JavaScript, when faced with the task of duplicating an array, one encounters two common approaches: the slice method and a for loop. While both methods achieve shallow copying, where object references rather than objects themselves are duplicated, their speed performances may vary.
Performance Benchmarks
Extensive benchmarks have concluded that the optimal cloning method depends on the browser used. For Blink browsers (e.g., Chrome, Edge), the slice() method reigns supreme, outperforming the for loop 2.4 times. However, in non-Blink browsers, the for loop takes the lead as the speediest option.
Example Performance Scripts
To illustrate these differences, consider the following performance scripts that you can execute in your browser's console:
For Loop:
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);
Note that these scripts focus on cloning the array objects themselves. The contents of the arrays, potentially containing object references, are copied by reference and not deeply cloned.
The above is the detailed content of Slice vs. For Loop: Which JavaScript Array Duplication Method is Faster?. For more information, please follow other related articles on the PHP Chinese website!