"READ-ONLY ERROR" React-native 移动应用程序开发?


const generateRandomBetween = (min,max,exclude) =>  {
min=Math.ceil(min);
max =Math.floor(max);
const rndnum= Math.floor(Math.random()*(max-min)) + min;
if(rndnum===exclude)
{
generateRandomBetween = (min,max,exclude)
}
else
{
return rndnum;
}

"这里该代码生成1-100之间的随机数,并排除用于计算机在第一次尝试中不猜测该数的"排除";">

generateRandomBetween在您的案例中是分配给const变量的函数
letvar不同,定义为const的变量不能重新分配。

因此,每当rndnum的值等于exclude的值时,
您将尝试为generateRandomBetween分配一个新值。

我假设您的意思是,如果rndnum等于exclude,则重新运行该函数
如果是这样的话,您应该删除"等于";

示例:

const generateRandomBetween = (min,max,exclude) =>  {
min=Math.ceil(min);
max =Math.floor(max);
const rndnum= Math.floor(Math.random()*(max-min)) + min;
if(rndnum===exclude)
{
generateRandomBetween(min,max,exclude)
}
else
{
return rndnum;
}
}

注意:如果我们进行一个小的语法重构,我们也可以让这个代码更干净一些。

const generateRandomBetween = (min,max,exclude) => {
min = Math.ceil(min);
max = Math.floor(max);
const rndnum = Math.floor(Math.random()*(max-min)) + min;
if(rndnum === exclude) {
return generateRandomBetween(min,max,exclude);
}
return rndnum;
}

功能保持不变,可以说,我们只是使else块隐式。

相关内容

最新更新