* Orders array elements randomly using Fisher–Yates modern shuffle algorithm. * @param {array} array * @param {Random} [random] Random instance * @return {array} Shuffled array
(array, random = null)
| 100 | * @return {array} Shuffled array |
| 101 | */ |
| 102 | static shuffle (array, random = null) { |
| 103 | random = random || Random.getInstance() |
| 104 | const a = array.slice() |
| 105 | let i, j |
| 106 | for (i = a.length - 1; i > 0; i--) { |
| 107 | j = random.nextInteger(0, i) |
| 108 | ;[a[i], a[j]] = [a[j], a[i]] |
| 109 | } |
| 110 | return a |
| 111 | } |
| 112 | |
| 113 | /** |
| 114 | * Chunks the given array into slices of equal length. |
no test coverage detected