js数组乱序,数组随机排序

一.splice

    var list = [1,2,3,4,5,6,7,8,9,10];
    var newlist = [];
    for(var i=0;i<10;i++){
        console.log(i)
        var num =  Math.floor(Math.random()*(list.length-1)) ;
        newlist.push(list[num]);
        list.splice(num,1)
    }
    console.log(newlist)
    console.log(list)

二.sort  (最简洁但不推荐 不是真正意义上的完全乱序)

    var aa = [1,2,3,4,5,6,7,8,9,10]
    function s(a,b){ return Math.random()>0.5 ? 1:-1;}
    aa.sort(s)
    console.log(aa)

三.Fisher–Yates shuffle 洗牌算法  (Fisher–Yates shuffle 洗牌算法可以做到理论上的完全乱序)

你可能感兴趣的:(js数组乱序,数组随机排序)