JavaScript SyntaxError:输入意外结束

时间:2019-08-21 23:19:51

标签: javascript typescript dictionary for-loop syntax-error

运行程序时,我一直收到“输入意外结束”错误消息,但是不管我走多久,我都一直在看它出现的代码。 我只是无法弄清楚我可能缺少什么。

for (let [key, value] of this.langList) {
  if (key === ('ENG' || 'JAP' || 'CHI' || 'RUS')) {
     this.langListFiltered.set(key, value);
  }
}

3 个答案:

答案 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);
}