Files
lodash/.internal/shuffleSelf.js
John-David Dalton 6cb3460fce Remove semicolons.
2017-02-05 22:22:04 -08:00

29 lines
680 B
JavaScript

import baseRandom from './baseRandom.js'
/**
* A specialized version of `shuffle` which mutates and sets the size of `array`.
*
* @private
* @param {Array} array The array to shuffle.
* @param {number} [size=array.length] The size of `array`.
* @returns {Array} Returns `array`.
*/
function shuffleSelf(array, size) {
let index = -1
const length = array.length
const lastIndex = length - 1
size = size === undefined ? length : size
while (++index < size) {
const rand = baseRandom(index, lastIndex)
const value = array[rand]
array[rand] = array[index]
array[index] = value
}
array.length = size
return array
}
export default shuffleSelf