Switch语句无法按预期工作

时间:2017-09-21 15:57:03

标签: javascript arrays switch-statement

我正在尝试理解我的代码中的错误:

 switch(arr){
case [0, 0]:
  console.log("hereee")
  return 0;
case [0, 1]:
  return 1;
case [0, 2]:
  return 2;
case [1, 0]:
  return 3;
case [1, 1]:
  return 4;
case [1, 2]:
  return 5;
case [2, 0]:
  return 6;
case [2, 1]:
  return 7;
case [2, 2]:
  return 8;
default:
  console.log("but heree")
  return -1;
        }

正如你所看到它检查数组并且应该在提供的数组值上返回数字保护,例如当我传递[1,2]时我期望输出为5,如果我传递[0,0]它应该是0,对?但我总是得到默认值-1;请帮助我理解这背后的原因。

1 个答案:

答案 0 :(得分:6)

您只能将switch用于基元。 JS在switch语句中使用===进行比较,[0,0]===[0,0]false

相关问题