let arr1 = Array.from({length: 10000000}, (_, i) => i);Node version 15.8
- reverse method 274ms
- index swap 9ms
- index swap es6 8ms
| let arr1 = Array.from({length: 10000000}, (_, i) => i); | |
| console.log(arr1); | |
| console.time('reverse'); | |
| arr1.reverse() // 274 | |
| console.timeEnd('reverse'); | |
| console.log(arr1); |
| function rswap(arr) { | |
| let [l, r] = [null, null]; | |
| let len = arr.length; | |
| for (l=0, r=len-1; l < r; l +=1, r -=1) { | |
| let temp = arr[l]; | |
| arr[l] = arr[r]; | |
| arr[r] = temp; | |
| } | |
| return arr; | |
| } | |
| let arr2 = Array.from({length: 10000000}, (_, i) => i); | |
| console.log(arr2); | |
| console.time('temporary swap'); | |
| rswap(arr2) // 9ms | |
| console.timeEnd('temporary swap'); | |
| console.log(arr2); |
| function rswap2(arr) { | |
| let [l, r] = [null, null]; | |
| let len = arr.length; | |
| for (l=0, r=len-1; l < r; l +=1, r -=1) { | |
| [arr[l], arr[r]] = [arr[r], arr[l]] | |
| } | |
| return arr; | |
| } | |
| let arr3 = Array.from({length: 10000000}, (_, i) => i); | |
| console.log(arr3); | |
| console.time('temporary swap2'); | |
| rswap(arr3) // 8ms | |
| console.timeEnd('temporary swap2'); | |
| console.log(arr3); |