配列シャッフル 1

初めての配列シャッフル。末尾の子要素をいくつか抜き出し、それに元の配列を連結。以上の作業を繰り返す。元の配列は破壊される。

JavaScript

// ※配列。これを混ぜる。
var myArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

// ※関数本体
function myFirstShuffle(a) {
    var pool = [];
    for (i = 0; i < 30; i++) {
        for (j = 0; j < Math.floor(Math.random() * a.length - 1) + 1; j++) {
            pool.push(a.pop());
        }
        a = pool.concat(a);
        a.reverse();
        pool = [];
    }
    return a;
}

// ※テスト
var Shuffled = myFirstShuffle(myArray);
document.write(Shuffled);