我正在尝试根据以前的用户输入快速将随机数分配给变量。
现在,我让用户输入一个介于 0-10 之间的数字。我想使用该输入的数字然后随机生成另一个数字。
目前,我正在为每个玩家做一个 if/else if 语句。
function skill() {
if (s[0] == 0) {
s[0] = randomNumber(2,6);
} else if (s[0] == 1) {
s[0] = randomNumber(3,7);
}
}
});
我可以为每个玩家做一个 if else 语句,大约需要 20 行。有没有更有效的方法根据用户输入的数字收集变量?
可以使用常规 For 循环循环遍历数组的每个元素以获取技能逻辑。 或者,可以使用 forEach 函数对数组中的每个元素执行逻辑。 下面是一个基于您的代码的示例。
FOR 循环
const s = [1, 0, 1, 0, 0, 1, 0];
function skill() {
for(var i = 0; i < s.length; i++) {
if (s[i] == 0) {
s[i] = getRandomInt(2,6);
} else if (s[i] == 1) {
s[i] = getRandomInt(3,7);
}
console.log(s[i]);
}
};
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
};
skill();
对于每个功能替代
function skill() {
s.forEach( function(i) {
if (s[i] == 0) {
s[i] = getRandomInt(2,6);
} else if (s[i] == 1) {
s[i] = getRandomInt(3,7);
}
});
};
// check this out for size
var skill=function() {
if (s[0] === 0) {
s[0] = Random(2,6);
} else if (s[0] === 1) {
s[0] = Random(3,7);
}
}