If statement 缩短函数(开关、if…else if、tertary语法)

If statement 缩短函数(开关、if…else if、tertary语法),if-statement,switch-statement,If Statement,Switch Statement,我创建了一个计算乘数的函数。 然后我试着把它缩短一点,并制作了另外两个版本 function multiplier(p) { switch(true) { case (p>=1&&p<=5): return 3-0.25*p; case (p>=6&&p<=10): return 2.25-0.125*p; case (p>

我创建了一个计算乘数的函数。 然后我试着把它缩短一点,并制作了另外两个版本

function multiplier(p)
{
    switch(true)
    {
        case (p>=1&&p<=5):
            return 3-0.25*p;
        case (p>=6&&p<=10):
            return 2.25-0.125*p;
        case (p>=11&&p<=20):
            return 0.875;
        case (p>=21&&p<=30):
            return 0.75;
        case (p>=31&&p<=50):
            return 0.5;
        case (p>=51):
            return 0;
    }
}
function multiplier(p)
{
    if(p>=1&&p<=5){return 3-0.25*p;}
    else if(p>=6&&p<=10){return 2.25-0.125*p;}
    else if(p>=11&&p<=20){return 0.875;}
    else if(p>=21&&p<=30){return 0.75;}
    else if(p>=31&&p<=50){return 0.5;}
    else if(p>=51){return 0;}
}
function multiplier(p)
{
    p = Math.abs(p);
    return p>=1&&p<=5?3-0.25*p:(p>=6&&p<=10?2.25-0.125*p:(p>=11&&p<=20?0.875:(p>=21&&p<=30?0.75:(p>=31&&p<=50?0.5:0))));
}
函数乘数(p)
{
开关(真)
{
案例(p>=1&&p=6&&p=11&&p=21&&p=31&&p=51):
返回0;
}
}
函数乘数(p)
{
如果(p>=1&&p=6&&p=11&&p=21&&p=31&&p=51){return 0;}
}
函数乘数(p)
{
p=数学绝对值(p);

return p>=1&&p=6&&p=11&&p=21&&p=31&&p这个问题属于CodeReview。我在这里看到了其他javascript代码,这就是我放在这里的原因。问题不在于语言;CodeReview是为了帮助检查代码以改进它,而CodeReview则更注重于让它工作。我认为我现在没有特权这么做……所以我不知道如何纠正我的错误t、 你没有权限发布到CodeReview?