26 lines
		
	
	
		
			678 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			678 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var arrayShuffle = require('./_arrayShuffle'), | ||
|  |     baseShuffle = require('./_baseShuffle'), | ||
|  |     isArray = require('./isArray'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Creates an array of shuffled values, using a version of the | ||
|  |  * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
 | ||
|  |  * | ||
|  |  * @static | ||
|  |  * @memberOf _ | ||
|  |  * @since 0.1.0 | ||
|  |  * @category Collection | ||
|  |  * @param {Array|Object} collection The collection to shuffle. | ||
|  |  * @returns {Array} Returns the new shuffled array. | ||
|  |  * @example | ||
|  |  * | ||
|  |  * _.shuffle([1, 2, 3, 4]); | ||
|  |  * // => [4, 1, 3, 2]
 | ||
|  |  */ | ||
|  | function shuffle(collection) { | ||
|  |   var func = isArray(collection) ? arrayShuffle : baseShuffle; | ||
|  |   return func(collection); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = shuffle; |