SOURCE


function shuffle(arr){
    var len = arr.length

    while(len !== 0){
        var ranIdx = Math.floor(Math.random() * len)
        len--;  //len--
        
// swap  arr[len]就是原来的arr[arr.length -1]
[arr[ranIdx], arr[len]] = [arr[len], arr[ranIdx]]
    }
    return arr;
}


function shuffle1(arr){
    var result = [];

while(arr.length>0){
// length为6,Math.random()*6为[0,6),Math.floor可以取到0-5所有的索引
        var randomIdx = Math.floor(Math.random() * arr.length); 
        result.push(arr[randomIdx])  
        arr.splice(randomIdx, 1)     // push后,就删掉原数组此元素
    }
    return result;
}



console.log(shuffle1([1, 2, 3, 4, 6, 9]));
console.log(shuffle([1, 2, 3, 4, 6, 9]));
console 命令行工具 X clear

                    
>
console