所以我正在编写这个脚本。当我完成它时,它应该用于制作 2-and-2 组。但无论如何; 脚本开头的“输入”数组将从我的 HTML 文件中获得 22 个不同的输入。作为标准,我给他们的值是 1-22。问题是我的两个块“第一个数字”和“第二个数字”效果不佳:它们没有返回正确的数字。因为我希望每个 elev[x] 都使用一次!不是2次,不是0次,一次!并且这些块像其中一些一样返回两次,其中一些甚至没有被使用。那么我该如何解决这个问题呢?
function Calculate(){
var elev = [];
var inputs = document.getElementsByName("txt");
for(i=0; i<inputs.length; i++) {
elev[i] = {
"Value": inputs[i].value,
"Used": false
};
}
function shuffle(elev){
var len = elev.length;
for(i=1; i<len; i++){
j = ~~(Math.random()*(i+1));
var temp = elev[i];
arr[i] = elev[j];
arr[j] = temp;
}
}
for(var v=0; v<1; v++) {
shuffle(elev);
document.write(elev + '<br/>\n');
}}
是的,我在编程方面还是新手,我只想学习我能学到的东西。
通过费雪-耶茨洗牌解决了问题。