我想通过以下方式将数字插入数组:
- 数字应该在 1-5 之间
- 第一个数字不能是 1,第二个不能是 2,等等。
- 选择的数字不能插入另一个索引
例如:
[1,2,3,4,5]
我将第一个数字随机化:1 [条件 2 不存在:1 不能在第一个索引中,所以我再次随机化并得到 4)。
如此新的数组:
0 - 4
1 -
2 -
3 -
4 -
我将一个数字随机化到第二个单元格并得到4,但4被插入到第一个元素[条件3],所以我再次随机化并得到2,但2不能是第二个元素[条件2],所以我随机化再次得到5。
0 - 4
1 - 5
2 -
3 -
4 -
ETC
我试图用数字(1-5)初始化一个vec:
var array = new Array();
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;
var newarr = new Array();
function getRandomInt (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
$(document).ready(function() {
for (var i = 0; i < 5; i++) {
var rand;
// check condition 2
while((rand = getRandomInt(1, 5)) == (i+1));
newarr[i] = rand;
//array.splice(i, 1);
}
// print the new array
for (var i = 0; i < 5; i++) {
alert((i+1) + '->' + newarr[i]);
}
});
但我需要在我的代码中添加条件 3,
任何帮助表示赞赏!