我正在尝试理解我的代码中的错误:
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;请帮助我理解这背后的原因。
答案 0 :(得分:6)
您只能将switch
用于基元。 JS在switch语句中使用===
进行比较,[0,0]===[0,0]
为false
。