Javascript:在字符串中重复的字母索引没有循环

时间:2016-08-09 21:49:34

标签: javascript string indexof

我想知道如何在字符串中获取重复字母的所有索引,例如:

"来自巴哈马的香蕉"

我希望获得" a"的所有索引。如果我做str.indexOf(" a"),我将只获得第一个" a"在字符串中。

每当我试图检查那封信的索引时,我都会得到1。

我想:

str.indexOf("a") === 1
str.indexOf("a") === 3
str.indexOf("a") === 5
str.indexOf("a") === 14
str.indexOf("a") === 16
str.indexOf("a") === 18

编辑:我会尽量避免使用循环。有没有一个解决方案,我可以在没有循环的情况下做到这一点?

事先提前

1 个答案:

答案 0 :(得分:0)

您可以迭代字符串并自行跟踪索引:

 var indices= [], 
        i;

 for(i = 0; i < str.length; i++) {
   if (str[i] === 'a') {
     indices.push(i);
   }
 }