JavaScriptで配列をランダムに並び替える方法

JavaScriptで配列をランダムに並び替える方法

JavaScriptで配列をランダムに並べ替える方法を探していたところ Fisher–Yatesというアルゴリズムを用いた方法をみつけたので記しておきます。

JavaScriptで配列をランダムに並べ替える方法

JavaScript
$(function(){

  Array.prototype.shuffle = function(){

    var i = this.length;

    while(i){

      var j = Math.floor(Math.random() * i);
      var t = this[--i];

      this[i] = this[j];
      this[j] = t;
    }

    return this;
  }

  var arr = ['a', 'b', 'c', 'd', 'e'];

  arr.shuffle();
});

デモ JavaScriptで配列をランダムに並び替える

スタートをクリックするたびに'A', 'B', 'C', 'D', 'E' が入った配列をランダムに表示します。

A
B
C
D
E
ページの先頭へ