export function shuffle(arr) { let _arr = arr.slice() for (let i = 0; i < _arr.length; i++) { const j = _getRandomNumber(0, i) const temp = _arr[i] _arr[i] = _arr[j] _arr[j] = temp } return _arr } function _getRandomNumber(min, max) { // min, max 之间的一个数字 // [0, 1) -> [min, max] // [0, 1) -> [0, max - min) -> [min, max) // [0, 1) -> [0, max - min + 1) -> [min, max + 1) -> [min, max] return Math.floor(Math.random() * (max - min + 1) + min) }