如何使用循环和 if else 语句分配随机数



我正在尝试根据以前的用户输入快速将随机数分配给变量。

现在,我让用户输入一个介于 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);
   }
  }

最新更新