js 数组随机洗牌

//先定义一个某数值范围内的随机数数组

function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) }

// 克隆数组方法dom

/** * 克隆数组 * @param {array} arr 原数组 * @return {array} 新数组 */
function cloneArr(arr) { // 从第一个字符就开始 copy
    // slice(start,end) 方法可从已有的数组中返回选定的元素。
    return arr.slice(0) }

//洗牌spa

function shuffle(arr, flag = false) { // console.log('arr',arr)
    let newArr = [] flag ? (newArr = arr) : (newArr = cloneArr(arr)) for (let i = 0; i < newArr.length; i++) { let j = getRandom(0, i) let temp = newArr[i] newArr[i] = newArr[j] newArr[j] = temp } // console.log('arr',arr,newArr)

    return newArr }

//调用code

shuffle(list)//list通常为数组对象
相关文章
相关标签/搜索