UNPKG

578 BJavaScriptView Raw
1var randInt = require('../random/randInt');
2
3 /**
4 * Shuffle array items.
5 */
6 function shuffle(arr) {
7 var results = [],
8 rnd;
9 if (arr == null) {
10 return results;
11 }
12
13 var i = -1, len = arr.length;
14 while (++i < len) {
15 if (!i) {
16 results[0] = arr[0];
17 } else {
18 rnd = randInt(0, i);
19 results[i] = results[rnd];
20 results[rnd] = arr[i];
21 }
22 }
23
24 return results;
25 }
26
27 module.exports = shuffle;
28