JavaScriptで配列をシャッフルさせる

ピュア(Vanilla)な JavaScript での配列のシャッフル。

var targets = [1, 2, 3, 4, 5];
var results = [];
while (targets.length) {
  results.push(
    targets.splice(Math.floor(Math.random() * targets.length), 1)[0]
  );
}
console.log(results); // 例: [5, 1, 4, 3, 2]

ただちょっと注意も

※ただこのやり方だと全く同じ配列が返されてしまう場合もあります。 間違いなくシャッフルさせなければいけない時の記述はもう少し複雑になりますが、下記を参照すると良いです。

JavaScript で配列のシャッフル