現在、乱数を配列から返すように変更しようとしていますので、各乱数は最後の乱数とは異なります選ばれた新しい乱数を生成する方法(以前の乱数とは異なります)
function randomize(arr) {
return arr[Math.floor(Math.random()*arr.length)];
}
oracleImg = [];
for (var i=1;i<=6;i++) {
oracleImg.push(i);
}
randOracleImg = randomize(oracleImg);
私は以下を試しましたが、必ずしも最後の番号と異なる番号を与えているわけではありません。
function randomize(arr) {
var arr = Math.floor(Math.random()*arr.length);
if(arr == this.lastSelected) {
randomize();
}
else {
this.lastSelected = arr;
return arr;
}
}
どうすればこの問題を解決できますか?
これは常に以前の数値と異なる場合、実際にはランダムではありません。 – stark
数字が2番目と同じかどうかは問題ありませんか、または配列全体をランダムな順序で処理する必要がありますか? – nnnnnn
全くありません。 [0、arr.length]から乱数を選択しています。 – Li357