in index.js [97:113]
function selectRandom(arr, n) {
const result = [];
const taken = [];
let len = arr.length;
if (n > len) {
throw `FATAL ERROR: Cannot select ${n} items from array with length ${arr.length}`;
}
while (n--) {
let idx = Math.floor(Math.random() * len);
result[n] = arr[idx in taken ? taken[idx] : idx];
taken[idx] = --len in taken ? taken[len] : len;
}
return result;
}