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