从JavaScript中的Random7()派生Random10()函数

问题

const random7 = () => Math.ceil(Math.random() * 7);

假设我们具有上面的粗箭头功能。每次我们调用该函数时,它都会产生一个介于0(不包含)和7(不包含)之间的随机数。

我们需要编写一个类似的random10()JavaScript函数,该函数不带参数且不使用JavaScript库或任何第三方库。并且仅使用此random7()函数,我们的函数应返回介于0(不包括)和10(不包括)之间的随机数。

示例

为此的代码将是-

const random7 = () => Math.ceil(Math.random() * 7);
const random10 = () => {
   let sum;
   for(let i = 0; i < 50; i++){
      sum += random7();
   }
   return (sum % 10) + 1;
};
console.log(random10());

代码说明

在这里,我们只是生成了一个尽可能均匀的随机和,用rand7()函数添加了几个数字(在我们的例子中为50,但是数字可以不同),并使用和在Base 10中生成一个数字。

输出结果

控制台中的输出将是-

NaN