Sha256: df5bdaad485f35c3e7eb877f85527855af119596956fe61d2a1613760c4e7b10
Contents?: true
Size: 802 Bytes
Versions: 69
Compression:
Stored size: 802 Bytes
Contents
define(['../random/randInt'], function (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]; } return pick; });
Version data entries
69 entries across 69 versions & 2 rubygems