开关盒(一个盒子与另一个盒子相交)

时间:2016-06-09 06:56:29

标签: javascript switch-statement

例如,我有以下代码;

switch ("SS") {
    case "SS":
        word = "hello";
        break;
    case "SSS":
        word = "bye";
        break;
}

我正在寻找SSS但是当它看到第一个SS时,它与第一个案例相匹配并且word = hello  当我遇到一个案例与另一个案例相交的情况时,如何修改代码?

7 个答案:

答案 0 :(得分:0)

将其作为字符串切换条件。

var condition = '0';// or '00'
switch (condition) {
    case '0':
        word = "hello";
        break;
    case '00':
        word = "bye";
        break;
}

答案 1 :(得分:0)

将其解析为String并使用此

switch ("00") {
case "0":
    word = "hello";
    break;
case "00":
    word = "bye";
    break;

}

答案 2 :(得分:0)

你这样做是因为00 = 0;   如果您想获得欲望结果,请使用字符串而不是数字,如下所示:

var arrayClone = _.cloneDeep(arrayB);
var removeThese = [];

Object.keys(arrayClone).forEach(function(p) {
    removeThese.push(p)
});


removeThese.forEach(function(remove) {
    arrayB.forEach(function(item) {
        if(item.id === remove) {
            delete objA[remove];
        }
    });
 });

答案 3 :(得分:0)

00不正确,因为您尝试将此值作为整数传递。整数不能以0开头,后跟某个东西。在后台,您的00值将转换为简单的0

如果您想保留自己的方法,则应将其转换为'00'

之类的字符串

并执行以下操作:

switch ('00') {
    case '0':
        word = "hello";
        break;
    case '00':
        word = "bye";
        break;
}

答案 4 :(得分:0)

试试这个

switch ('00') {
    case '0':
        word = "hello";
        break;
    case '00':
        word = "bye";
        break;
}

结果是

再见

答案 5 :(得分:0)

switch "SS"始终带您进入"SS"案例标签(或{{1}如果提供 - 如果default缺少作为案例标签)。

通常,您倾向于打开变量,但标签的情况将是常量。

如果您希望程序控制流程继续直接进入另一个"SS",请删除相应的case语句。

答案 6 :(得分:0)

switch("00")
{
case "0":
  console.log("Hello");break;
case "00":
  console.log("Bye");break;
}

使用字符串而不是数字。 如果您有一个数字,那么在切换条件下将其更改为字符串 即switch(input.toString()){...} 这样可以正常使用