You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
548 B
18 lines
548 B
var baseClamp = require('./_baseClamp'), |
|
shuffleSelf = require('./_shuffleSelf'), |
|
values = require('./values'); |
|
|
|
/** |
|
* The base implementation of `_.sampleSize` without param guards. |
|
* |
|
* @private |
|
* @param {Array|Object} collection The collection to sample. |
|
* @param {number} n The number of elements to sample. |
|
* @returns {Array} Returns the random elements. |
|
*/ |
|
function baseSampleSize(collection, n) { |
|
var array = values(collection); |
|
return shuffleSelf(array, baseClamp(n, 0, array.length)); |
|
} |
|
|
|
module.exports = baseSampleSize;
|
|
|