Javascript indexOf方法

时间:2015-11-24 13:34:29

标签: javascript

我最近遇到了这个在网站上解决的小问题,计算字符串中的元音数量。我成功使用了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。关于函数如何检查字符串,我有点困惑。       提前谢谢。

3 个答案:

答案 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