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

Version Path
trusty-festivity-extension-2.5.3 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.5.2 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.5.1 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.5.0 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.6 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.5 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.4 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.3 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.2 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.1 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.4.0 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.30 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.29 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.28 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.27 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.26 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.25 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.24 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.23 node_modules/bower/node_modules/mout/src/array/pick.js
trusty-festivity-extension-2.3.22 node_modules/bower/node_modules/mout/src/array/pick.js