Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS开关语句_Javascript_Switch Statement - Fatal编程技术网

Javascript JS开关语句

Javascript JS开关语句,javascript,switch-statement,Javascript,Switch Statement,我试图使用两个switch语句来解释AJAX调用中的一些信息 代码如下所示: 基本上,我希望第一个循环检查数组“roleArray”,并将值赋给变量“role”。它可以有四个不同的值: 五十、 S、J或A 然后,我希望下一个switch语句检查'role'的值,看看它是L、S、J还是A,并为变量赋值 例如,当我尝试执行console.log(aFactor)时,我得到一个未定义的值,这似乎意味着我的循环没有运行,或者switch语句没有正确编码 我能做这个吗 谢谢 编辑: 代码: //算法开始

我试图使用两个switch语句来解释AJAX调用中的一些信息

代码如下所示:

基本上,我希望第一个循环检查数组“roleArray”,并将值赋给变量“role”。它可以有四个不同的值:

五十、 S、J或A

然后,我希望下一个switch语句检查'role'的值,看看它是L、S、J还是A,并为变量赋值

例如,当我尝试执行
console.log(aFactor)
时,我得到一个未定义的值,这似乎意味着我的循环没有运行,或者switch语句没有正确编码

我能做这个吗

谢谢

编辑:

代码:

//算法开始
对于(i=0,i<10;i++;){
开关(Roleray[i]){
“二人”案:
//托普莱恩二人组
role=“L”;
console.log(角色);
打破
案例“DUO_CARRY”:
//机器人车道adc
role=“A”;
console.log(角色);
打破
“DUO_支持”案例:
//假设机器人通道支持
role=“S”;
console.log(角色);
打破
“索洛”案:
//担任中级或高级独奏演员
role=“L”;
console.log(角色);
打破
案例“无”:
//去丛林,检查车道
role=“J”;
console.log(角色);
打破
违约
role=“L”;
打破
}
交换机(角色){
案例“L”:
aFactor=1.00;//杀死
bFactor=0.66;//辅助
cFactor=0.75;//死亡
dFactor=0.80;//cs
eFactor=0.20;//cs
fFactor=0.55;//计数器
gFactor=0.50;//抄送时间
打破
案例“A”:
aFactor=1.00;
b系数=0.10;
c系数=1.00;
dFactor=1.00;
eFactor=0.20;
fFactor=0.30;
gFactor=0.33;
打破
案例“S”:
aFactor=0.20;
b系数=2.00;
c系数=0.33;
dFactor=0.10;
eFactor=0.33;
fFactor=0.55;
gFactor=2.00;
打破
案例“J”:
aFactor=1.00;
b系数=1.50;
c系数=0.75;
dFactor=0.33;
eFactor=1.20;
fFactor=1.60;
gFactor=1.00;
打破
}

我已经试着弄清楚了,但是你的代码没有意义。首先,确保正确关闭块

第二,将冒号放在默认值后面

default: 
// your code
另外,你为什么要这么做

for (i = 0; i > 10; i++) {
                    var pvpFactor = ((aFactor * killArray[i]) + (bFactor * assistArray[i])) / (cFactor * deathArray[i]);
                    var pveFactor = ((dFactor * csArray[i]) + (eFactor * jungleCSArray[i]) + (fFactor * counterJungleCSArray[i])) / (gameTimeArray[i]);
                    var auxFactor = (gFactor * crowdControlArray[i]);

                    var rawHMC = (0.8 * pvpFactor) + (0.4 * pveFactor) + (2.5 * auxFactor)

                    var HMCarray = [];
无理由在for循环中声明变量?这些变量仅对i=9有效。为什么要将其放入循环中?

//语法:

        switch(Expression){
            case 1:
                condition;
                break;
            case 2:
                condition;
                break;
            case 3:
                condition;
                break;
            case 4:
                condition;
                break;
            case 5:
                condition;
                break;
            case 6:
                condition;
                break;
            case 7:
                condition;
                break;
            case 8:
                condition;
                break;
            case 9:
                condition;
                break;
            default:
                last Condition;
        }

习惯上,将代码直接添加到问题中,这样就不用访问第三方网站就可以了。要指出JSFIDLE代码中的一些错误-1)两个for循环都缺少右括号。2)循环中的
i>10
而不是
i<10
。3)在switch语句中,
default
必须是
>默认值:
。希望这有帮助。JSHint会抱怨同样的事情。请在发布之前确保您的代码有效。请注意,在这里使用两个switch语句是没有意义的。您只需在第一个开关中组合案例,将相同角色设置为使用通用案例代码,然后将该案例的代码放在第一个开关中switch。似乎不需要两个switch语句。另外,不清楚
for
循环的意义是什么,因为您将得到最后执行的switch语句的结果,没有通过
for
循环累积结果。
i
应该是
var i
,以防止变量冲突。T这就是为什么整个循环只运行一次。欢迎来到StackOverflow!你能进一步解释一下这将如何解决这个问题吗?我真的不明白这如何适用于这个问题,因为它已经使用了correkt开关语法。此外,我怀疑
条件;
实际上是一个条件,而只是一条指令。祝你有愉快的一天。
        switch(Expression){
            case 1:
                condition;
                break;
            case 2:
                condition;
                break;
            case 3:
                condition;
                break;
            case 4:
                condition;
                break;
            case 5:
                condition;
                break;
            case 6:
                condition;
                break;
            case 7:
                condition;
                break;
            case 8:
                condition;
                break;
            case 9:
                condition;
                break;
            default:
                last Condition;
        }