Switch语句出卖了我...以下switch语句与任何情况都不匹配,而是每次都打印default
情况。
我已经尝试删除默认情况,并向所涉及的变量添加了类型检查,但它仍然根本不匹配。我什至手动重新键入了大小写字符串,以确保我没有复制粘贴任何错误的字符。删除()
字符也无济于事。
字符串每次匹配1:1,并且类型始终为string
。这些也是最后剩下的情况。之前还有大约10例,但都很好,并且执行了所需的操作。
如果有人知道这里出了什么问题,那就太好了,谢谢!! >>
,具有与const subUniName = sub.data().university; // Is always one of the cases, f.e.: 'Hochschule Fresenius (Wiesbaden)' let correctUniName; console.log('type of raw data: ' + typeof sub.data().university) // Logs string console.log('type of raw data appended to const (same thing): ' + typeof subUniName) // Logs string console.log('subUniName: ' + subUniName) // Update University Name switch (subUniName) { case "Hochschule Fresenius (Wiesbaden)": correctUniName = "Hochschule Fresenius University of Applied Sciences"; break; case 'Hochschule RheinMain (Wiesbaden und Rüsselsheim)': correctUniName = "Hochschule RheinMain University of Applied Sciences Wiesbaden Rüsselsheim"; break; case 'EBS Universität für Wirtschaft und Recht (Wiesbaden, Oestrich-Winkel)': correctUniName = "EBS Universität für Wirtschaft und Recht"; break; case 'Hochschule Ruhr West (Mülheim, Bottrop)': correctUniName = "Hochschule Ruhr West University of Applied Sciences"; break; case "Duale Hochschule Baden-Württemberg (Stuttgart)": correctUniName = "DHBW - Duale Hochschule Baden-Württemberg"; break; case 'Hochschule Augsburg (HSA)': correctUniName = "Hochschule für angewandte Wissenschaften Augsburg - University of Applied Sciences"; break; case 'Hochschule Karlsruhe - Technik und Wirtschaft': correctUniName = "Hochschule Karlsruhe - Technik und Wirtschaft - University of Applied Sciences"; break; case 'Hochschule Westküste (Heide)': correctUniName = ""; break; default: console.log(sub.data().university + ' not matched') break; }
这里是一个实时示例
sub.data().university
返回的相同字符:https://stackblitz.com/edit/js-3zcwdz
这是终端(运行节点)中输出的屏幕截图:
编辑:
刚刚尝试添加行console.log(`Does ${subUniName} match Hochschule Fresenius (Wiesbaden)? ${subUniName === "Hochschule Fresenius (Wiesbaden)"}`)
[subUniName
为Hochschule Fresenius (Wiesbaden)
时应返回true。
但是打印此内容:
Hochschule Fresenius(威斯巴登)匹配Hochschule Fresenius(威斯巴登)?假
我现在很困惑。 subUniName
和string
的类型,字符完全相同,没有空格或其他内容-我缺少什么?
EDIT2:
这里是从存储在数组中的sub.data().university
中获得的数据的问题的实时复制。
https://stackblitz.com/edit/js-3zcwdz
Switch语句已经出卖了我...下面的switch语句与任何情况都不匹配,而是每次都打印默认情况。我尝试删除默认情况并添加了...
对于“变通方法”,您可以尝试使用此映射功能: