JavaScript-开关条件返回数组



根据输入,该函数应返回'num'元素的数组,范围从'start'到'end'。"类型"参数确定它们是应该是整数(" 1"(还是浮点('0'(。首先,创建了一个新的" num"长度的数组,然后有一个开关语句来确定它应该是整数或小数数字。我似乎在返回它们方面有问题。我从Mozilla开发人员网站上获取的随机数的功能。整体认为,将是React Native的动作创造者中的饲料,但我认为这在这里没有任何意义。

export const genNum = (start, end, num, type) => {
  let numberArray = new Array(num);
  switch (type) {
    case 1:
      return numberArray.map(function(num) {
        let min = Math.ceil(start);
        let max = Math.floor(end);
        return Math.floor(Math.random() * (max - min)) + min;
      });
    default:
      return numberArray.map(function(num) {
        return Math.floor(Math.random() * (max - min)) + min;
    });
  }
};

编辑:我认为这并不是一份重复,因为它试图将两种情况结合起来。我仍在阅读delde((上,以摆脱不必要的开关语句。我已经上了您的更正。目前,它看起来如下(我仍然需要将浮点数围成2DP(。

export const genNum = (start, end, num, type) => {
  let numberArray = new Array(num).fill(-1);
  switch (type) {
    case 1:
      return numberArray.map(function(num) {
        let min = Math.ceil(start);
        let max = Math.floor(end);
        return Math.floor(Math.random() * (max - min)) + min;
      });
    default:
      return numberArray.map(function(num) {
        let min = start;
        let max = end;
        return (Math.random() * (max - min)) + min;
    });
  }
};

如果正确初始化数组,您的某些问题将得到解决。您无法像所创建的数组一样映射,因为它实际上并不包含任何值。我建议您更改将您的数组定义为:

的行
let numberArray = Array(num).fill(-1);

然后,您可以解决代码中的其他一些问题(例如,在第二个情况块中未定义的最低和最大问题,而浮点部分则无法正常工作,因为您将它们舍入到整数(

最新更新