随机非重复数生成分配给变量
Random Non Repeating Number Generation Assignment to Variables
我正在尝试生成 1-5、1-10、1-20 等之间的非重复随机数。我正在使用 Fisher-Yates Shuffle,但我不确定我是否已经实现它以最好的方式。我的计划是将每个随机数关联到一个预先确定的变量名。我想确保将随机值分配给预定变量名称的语法是正确的。我是 JavaScript 的新手,如果有任何见解,我将不胜感激。这是我的第一个演绎:
function shuffle(array) {
var i = array.length,
j = 0,
temp;
while (i--) {
j = Math.floor(Math.random() * (i+1));
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
var ranNums = shuffle([1,2,3,4,5]);
var ranNum1 = ranNums.value;
var ranNum2 = ranNums.value;
var ranNum3 = ranNums.value;
var ranNum4 = ranNums.value;
var ranNum5 = ranNums.value;
尝试使用以下代码 FIDDLE:
var ranNum1 = ranNums[0];
var ranNum2 = ranNums[1];
var ranNum3 = ranNums[2];
var ranNum4 = ranNums[3];
var ranNum5 = ranNums[4];
我正在尝试生成 1-5、1-10、1-20 等之间的非重复随机数。我正在使用 Fisher-Yates Shuffle,但我不确定我是否已经实现它以最好的方式。我的计划是将每个随机数关联到一个预先确定的变量名。我想确保将随机值分配给预定变量名称的语法是正确的。我是 JavaScript 的新手,如果有任何见解,我将不胜感激。这是我的第一个演绎:
function shuffle(array) {
var i = array.length,
j = 0,
temp;
while (i--) {
j = Math.floor(Math.random() * (i+1));
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
var ranNums = shuffle([1,2,3,4,5]);
var ranNum1 = ranNums.value;
var ranNum2 = ranNums.value;
var ranNum3 = ranNums.value;
var ranNum4 = ranNums.value;
var ranNum5 = ranNums.value;
尝试使用以下代码 FIDDLE:
var ranNum1 = ranNums[0];
var ranNum2 = ranNums[1];
var ranNum3 = ranNums[2];
var ranNum4 = ranNums[3];
var ranNum5 = ranNums[4];