运行程序时,我一直收到“输入意外结束”错误消息,但是不管我走多久,我都一直在看它出现的代码。 我只是无法弄清楚我可能缺少什么。
for (let [key, value] of this.langList) {
if (key === ('ENG' || 'JAP' || 'CHI' || 'RUS')) {
this.langListFiltered.set(key, value);
}
}
答案 0 :(得分:2)
问题在于陈述
(key === ('ENG' || 'JAP' || 'CHI' || 'RUS'))
您应该将键与每个字符串分别进行比较:
(key === 'ENG' || key === 'JAP' || key === 'CHI' || key === 'RUS')
答案 1 :(得分:0)
@N。德约基奇给出了解决方案。
但是您也可以使用数组:
if (['ENG', 'JAP', 'CHI', 'RUS'].includes(key)) {}
如果选择此解决方案(更易于维护),请小心在代码而不是循环中更早地初始化数组。
答案 2 :(得分:0)
上面与@Richard达成协议。理想情况下,您需要在循环之前初始化数组。如果必须更改数组或在多个位置使用数组,这也有帮助。
let languageArray = this.langList.keys();
...
if (languageArray.includes(key)) {
this.langListFiltered.set(key, value);
}