4 ms·
This implementation NEVER moves the nth item as that is past the end of the array. i = Math.random() * n-- | 0; generates a value less than n. And t
by thethirdone 9y ago
This implementation NEVER moves the nth item as that is past the end of the array.
i = Math.random() * n-- | 0;
generates a value less than n.
And
t = array[n];
array[n] = array[i];
array[i] = t;
is using a decremented n.
You are being confused by the `n--` in the random selection.