定义
function shuffle(arr, size) {
arr = arr.split('')
size = size ? Math.min(arr.length,size) : arr.length
for (let i = 0; i < size; i++) {
const randomIndex = Math.floor(Math.random() * arr.length)
const item = arr[randomIndex]
arr[randomIndex] = arr[i]
arr[i] = item
}
arr.length = size
return arr.join('')
}
使用
shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/') //output: w/0+sNevdmrxhcPXyWplCBLFgjH6UKOIYJ84ozAn7SGk23R9TEaVqDZiQftu1bM5
shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/',20) //output: otTJgeS9r+YPnczVHGyi
shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/',100) //output: jecGXbZuH9xLoBnd7WrzF86UDvwM1RhafPNVi0JSE2Ylqt5KQT/pk3g4sC+AyImO