time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

_baseSampleSize.js (548B)


      1 var baseClamp = require('./_baseClamp'),
      2     shuffleSelf = require('./_shuffleSelf'),
      3     values = require('./values');
      4 
      5 /**
      6  * The base implementation of `_.sampleSize` without param guards.
      7  *
      8  * @private
      9  * @param {Array|Object} collection The collection to sample.
     10  * @param {number} n The number of elements to sample.
     11  * @returns {Array} Returns the random elements.
     12  */
     13 function baseSampleSize(collection, n) {
     14   var array = values(collection);
     15   return shuffleSelf(array, baseClamp(n, 0, array.length));
     16 }
     17 
     18 module.exports = baseSampleSize;