mirror of
https://github.com/musix-org/musix-oss
synced 2024-11-14 03:30:18 +00:00
19 lines
548 B
JavaScript
19 lines
548 B
JavaScript
|
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;
|