time-to-botec

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

_arraySampleSize.js (500B)


      1 var baseClamp = require('./_baseClamp'),
      2     copyArray = require('./_copyArray'),
      3     shuffleSelf = require('./_shuffleSelf');
      4 
      5 /**
      6  * A specialized version of `_.sampleSize` for arrays.
      7  *
      8  * @private
      9  * @param {Array} array The array to sample.
     10  * @param {number} n The number of elements to sample.
     11  * @returns {Array} Returns the random elements.
     12  */
     13 function arraySampleSize(array, n) {
     14   return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
     15 }
     16 
     17 module.exports = arraySampleSize;