aboutsummaryrefslogtreecommitdiff
path: root/node_modules/lodash/_arraySampleSize.js
blob: 8c7e364f51a8aae31c6aa5379b757458ba18f2a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var baseClamp = require('./_baseClamp'),
    copyArray = require('./_copyArray'),
    shuffleSelf = require('./_shuffleSelf');

/**
 * A specialized version of `_.sampleSize` for arrays.
 *
 * @private
 * @param {Array} array The array to sample.
 * @param {number} n The number of elements to sample.
 * @returns {Array} Returns the random elements.
 */
function arraySampleSize(array, n) {
  return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
}

module.exports = arraySampleSize;