我仍在开发一个程序,但我遇到了问题。代码在这里:
function Calculate(){
var elev = [];
var inputs = document.getElementsByName("txt");
for(i=0; i<inputs.length; i++) {
elev[i] = {
"Value": inputs[i].value,
"Used": false
};
}
for(j=0; j<=10; j++) {
var r = Math.floor(Math.random() * 20);
if (elev[r].Used) { //1st number
for(var a=0; a<=21; a++) {
if (!elev[a].Used) {
elev[r].Value = elev[a].Value;
break;
}
else {continue; }
}
}
...
}
}
elev[r].used = true;
doument.write(elev[r].Value);
...
}
}
首先,我有 22 次导入到我的 HTML 文档中的 var inputs[i].value(后来的 elev[i])。我希望它一次使用所有的“elev”数组,但我看到(在我的 document.write 中,我在这里剪掉了)它使用了其中一些两次,其中一些甚至没有使用。我该如何解决?
使用 Fisher-Yates shuffle 解决的问题