我有一个数组名称winArr。
let winArr = [[[1,2],[3,6],[4,8]],
[[0,2],[4,7]],
[[0,1],[4,6],[5,8]],
[[0,6],[4,5]],
[[0,8],[1,7],[2,6],[3,5]],
[[2,8],[3,4]],
[[0,3],[2,4],[7,8]],
[[1,4],[6,8]],
[[0,4],[2,5],[6,7]] ] ;
现在我生成0到8的随机整数。我不想得到已经得到的那个。
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
let ranInt = Math.floor(Math.random() * (max - min)) + min;
if(winArr[ranInt] === null) {
getRandomInt(min,max) ;
} else {
winArr[ranInt] = null ;
return ranInt ;
}
}
我将这个函数调用九次,所以我想每次得到不同的九个整数getRandomInt(0,8) ;
。但有些此函数正在返回undefined
。
答案 0 :(得分:0)
更改
getRandomInt(min,max) ;
要
return getRandomInt(min, max);
答案 1 :(得分:0)
let winArr = [[[1, 2], [3, 6], [4, 8]],
[[0, 2], [4, 7]],
[[0, 1], [4, 6], [5, 8]],
[[0, 6], [4, 5]],
[[0, 8], [1, 7], [2, 6], [3, 5]],
[[2, 8], [3, 4]],
[[0, 3], [2, 4], [7, 8]],
[[1, 4], [6, 8]],
[[0, 4], [2, 5], [6, 7]]];
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
let ranInt = Math.floor(Math.random() * (max - min)) + min;
if (winArr[ranInt] === null) {
return getRandomInt(min, max);
} else {
winArr[ranInt] = null;
alert(ranInt);
return ranInt;
}
}
getRandomInt(0, 8);