而不是这样做:
var crystalValues = [];
crystalValues[0] = Math.floor(Math.random()*12+1),
crystalValues[1] = Math.floor(Math.random()*12+1),
crystalValues[2] = Math.floor(Math.random()*12+1),
crystalValues[3] = Math.floor(Math.random()*12+1),
如何创建一个返回4个随机数的函数?
答案 0 :(得分:1)
下面的函数创建一个随机整数数组。
count
设置了多少,min
和max
设置了最小和最大随机值
function createRandomArray(count,min,max){
const rand = () => Math.floor( Math.random() * (max - min) + min);
const vals = [];
while(count-- > 0){ vals.push(rand()) }
return vals;
}
console.log(createRandomArray(4,1,13));
您可以按如下方式将它们分配给另一个数组
const crystalValues = [];
crystalValues.push(...createRandomArray(4,1,13))
或者只是直接分配
const crystalValues = createRandomArray(4,1,13);
答案 1 :(得分:0)
使用for循环。
试试这个:
var crystalValues = [];
for(var i = 0;i < 4;i++){
crystalValues.push(Math.floor(Math.random()*12+1))
}
console.log(crystalValues);
答案 2 :(得分:0)
您只需使用Array.from()
var gen = () => {
return Array.from({length: 4}, () => Math.floor( Math.floor(Math.random()*12+1)));
}
console.log(gen());
&#13;
答案 3 :(得分:0)
如果您尝试节省输入功能的时间,那么for循环就可以解决问题。
random4() {
var crystalValues = [];
for (var i=0; i < 4 ; i++) {
randomNumber = Math.floor(Math.random()*12+1);
while (crystalValues.indexOf(randomNumber) !== -1) {
randomNumber = Math.floor(Math.random()*12+1);
}
crystalValues[i] = randomNumber;
}
return crystalValues;
}