我最近遇到了这个在网站上解决的小问题,计算字符串中的元音数量。我成功使用了switch语句,但是当我查看作者解决方案时,他们使用了以下函数。
function vowel_count(str1) {
var vowel_list = 'aeiouAEIOU';
var vcount = 0;
for (var x = 0; x < str1.length ; x++) {
if (vowel_list.indexOf(str1[x]) !== -1) {
vcount += 1;
}
}
return vcount;
}
alert(vowel_count("The quick brown fox"));
任何人都可以解释if语句中究竟发生了什么, 我可以看到传递给函数的任何字符串的索引正在使用,但为什么语句==或!== -1。关于函数如何检查字符串,我有点困惑。 提前谢谢。
答案 0 :(得分:1)
indexOf()函数返回我们在给定数组中寻找的元素的索引。但是,如果在数组中找不到该元素,则indexOf()将返回-1。 所以在你的情况下:
if (vowel_list.indexOf(str1[x]) !== -1) {
表示类似&#34;如果当前的字母可以在我的元音列表中找到&#34;。 这有意义吗?
答案 1 :(得分:0)
indexOf方法返回字符串中第一次出现指定值的位置。如果要搜索的值永远不会发生,则返回-1。
答案 2 :(得分:0)
与大多数编程语言一样,JavaScript从std::cout << toAssignTo << std::endl;
开始计算。
0
是"foo".indexOf('f');
。
如果找不到值,函数将返回0
。