be40c5e32433e6633463f41e48b4fcd9803c59d6b60173c96fc791a44c77a1589fdea0f7e193d30b715bdf0dd4a61c6b5c3b38b67cd75722cc7d77e5101af2 548 B

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