【发布时间】:2012-12-11 13:46:51
【问题描述】:
我正在用 JavaScript 编写代码,我需要在其中获取 35 个输入值,为每个输入值分配一个数组中的位置,然后将它们打乱,以便它们以不同的顺序重新排列。因此:
var sort = new Array(35);
sort[0] = document.getElementById("d1p1").value;
sort[1] = document.getElementById("d1p2").value;
// ...
// ... (till 35)
var rand1 = Math.floor(Math.random() * 35);
var rand2 = Math.floor(Math.random() * 35);
// ...
// ... (till 35)
var rsort = new Array(35);
rsort[rand1] = document.getElementById("d1p1").value;
rsort[rand2] = document.getElementById("d1p2").value;
唯一的问题是,由于 Math.floor(Math.random()*35) 不止一次地从 1-35 生成一些相同的数字(嗯,我猜这就是随机性的点),那么两个值有时会分配相同的输入框并返回 undefined。有什么想法吗?
【问题讨论】:
标签: javascript random shuffle