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.
25 lines
676 B
25 lines
676 B
import arrayShuffle from './_arrayShuffle.js'; |
|
import baseShuffle from './_baseShuffle.js'; |
|
import isArray from './isArray.js'; |
|
|
|
/** |
|
* 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); |
|
} |
|
|
|
export default shuffle;
|
|
|