【发布时间】:2019-01-26 19:40:44
【问题描述】:
我正在尝试编写允许用户检查我是否去过特定国家/地区的代码。
我已经尝试过通过提示从用户那里获取输入。获取该输入,将其存储到变量中,然后将该变量插入到正则表达式中。从那里,我尝试在我的国家/地区数组上使用 .some 方法,利用正则表达式和用户输入变量来确定我是否去过用户指定的国家/地区。
var countries = ['US', 'UK', 'Canda', 'Mexico', 'Panama', 'Dominican
Republic', 'Brazil', 'Germany', 'France', 'Portugal',
'Spain', 'the Netherlands'];
var userCountry = prompt("Please enter a country", "");
var beenToUserCountry = countries.some(country =>
/^userCountry$/i.test(country));
if (beenToUserCountry) {
document.write(`Yes, I have been to ${userCountry}.`);
} else {
document.write(`No, I haven't been to ${userCountry} yet.`);
}
我希望代码会为我的国家/地区的一部分排列的国家/地区打印“是...”,而对于不是的国家/地区会打印“否...”。相反,我在提示中插入的每个国家都会给我一个“否...”帮助!
【问题讨论】:
-
更好的主意:
beenToUserCountry = countries.map(a=>a.toLowerCase()) .includes(userCountry.toLowerCase()); -
当然,它可能是重复的。我看到了其他相关线程,但作为初学者,我不明白那里给出的解释。让人们根据我自己的问题/示例给出解释有很大帮助。
-
它仍然是重复的。我正在添加它,以便将来有人在谷歌上搜索类似的东西并最终出现这个问题时,他们会将这些热门问题视为“链接”(右侧面板)。这可能对他们有帮助:)
-
很公平,谢谢
标签: javascript regex variables