COLLECTED BY
Organization:
Internet Archive
Focused crawls are collections of frequently-updated webcrawl data from narrow (as opposed to broad or wide) web crawls, often focused on a single domain or subdomain.
The Wayback Machine - https://web.archive.org/web/20201220222236/https://github.com/lodash/lodash/blob/master/shuffle.js
Permalink
Cannot retrieve contributors at this time
33 lines (31 sloc)
833 Bytes
import copyArray from './.internal/copyArray.js'
/**
* Creates an array of shuffled values, using a version of the
* [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
*
* @since 0.1.0
* @category Array
* @param {Array } array The array to shuffle.
* @returns {Array } Returns the new shuffled array.
* @example
*
* shuffle([1, 2, 3, 4])
* // => [4, 1, 3, 2]
*/
function shuffle ( array ) {
const length = array == null ? 0 : array . length
if ( !length ) {
return [ ]
}
let index = - 1
const lastIndex = length - 1
const result = copyArray ( array )
while ( ++ index < length ) {
const rand = index + Math . floor ( Math . random ( ) * ( lastIndex - index + 1 ) )
const value = result [ rand ]
result [ rand ] = result [ index ]
result [ index ] = value
}
return result
}
export default shuffle
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.