我正在尝试根据先前的用户输入快速为变量分配随机数。
现在,我让用户输入一个介于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行。有没有更有效的方法来根据用户输入的数字来收集变量?
答案 0 :(得分:0)
您可以使用常规的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);
}
});
};
答案 1 :(得分:-1)
// 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);
}
}