19 lines
		
	
	
		
			546 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			546 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import baseClamp from './_baseClamp.js';
 | 
						|
import shuffleSelf from './_shuffleSelf.js';
 | 
						|
import values from './values.js';
 | 
						|
 | 
						|
/**
 | 
						|
 * 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));
 | 
						|
}
 | 
						|
 | 
						|
export default baseSampleSize;
 |