对数组排序进行"洗牌"(随机排序)

这段代码在这里使用Fisher Yates洗牌算法给一个指定的数组进行洗牌(随机排序)。

function shuffle(arr) {
    var i,        j,        temp;
    for (i = arr.length - 1; i > 0; i--) {        j = Math.floor(Math.random() * (i + 1));        temp = arr[i];        arr[i] = arr[j];        arr[j] = temp;    }
    return arr;     };

 

案例:

var a = [1, 2, 3, 4, 5, 6, 7, 8];
var b = shuffle(a); console.log(b);// [2, 7, 8, 6, 5, 3, 1, 4]
posted @ 2016-03-02 10:27  篮球不止是个球  阅读(250)  评论(0编辑  收藏  举报