繁体   English   中英

react-native移动应用开发中的“READ-ONLY ERROR”?

[英]"READ-ONLY ERROR" in react-native mobile application development?

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变量的 function 。
letvar不同,定义为const的变量不能重新分配。

因此,只要rndnum的值等于exclude的值,
您正在尝试为generateRandomBetween分配一个新值。

我假设您的意思是如果rndnum等于exclude ,请重新运行 function。
如果是这种情况,您应该删除“等号”。

例子:

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块设为隐式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM