deep-random-pick
Version:
Picks a pseudo-random item from a pool in several ways, including a recursive method that allows for more control over probability.
18 lines (17 loc) • 505 B
JavaScript
;
exports.__esModule = true;
var shallowpick_1 = require("./shallowpick");
exports.randomPick = function () {
var pool = [];
for (var _i = 0; _i < arguments.length; _i++) {
pool[_i] = arguments[_i];
}
var itemPicked = shallowpick_1.shallowPick(pool);
if (Array.isArray(itemPicked) && itemPicked.length > 0) {
// Recursion is required here.
return exports.randomPick(itemPicked);
}
else {
return itemPicked;
}
};