Sha256: 607d4afd0fe712836438b7787747c4ae9d64e3bb174c29b84428fa6d393cfa4b
Contents?: true
Size: 802 Bytes
Versions: 69
Compression:
Stored size: 802 Bytes
Contents
var randInt = require('../random/randInt'); /** * Remove random item(s) from the Array and return it. * Returns an Array of items if [nItems] is provided or a single item if * it isn't specified. */ function pick(arr, nItems){ if (nItems != null) { var result = []; if (nItems > 0 && arr && arr.length) { nItems = nItems > arr.length? arr.length : nItems; while (nItems--) { result.push( pickOne(arr) ); } } return result; } return (arr && arr.length)? pickOne(arr) : void(0); } function pickOne(arr){ var idx = randInt(0, arr.length - 1); return arr.splice(idx, 1)[0]; } module.exports = pick;
Version data entries
69 entries across 69 versions & 2 rubygems