Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:字符串中重复的字母索引,无循环_Javascript_String_Indexof - Fatal编程技术网

Javascript:字符串中重复的字母索引,无循环

Javascript:字符串中重复的字母索引,无循环,javascript,string,indexof,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

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

“巴哈马香蕉”

我想得到“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
编辑:我将尽量避免使用循环。有没有一个解决方案可以让我不用循环就可以做到这一点


thx提前

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

 var indices= [], 
        i;

 for(i = 0; i < str.length; i++) {
   if (str[i] === 'a') {
     indices.push(i);
   }
 }
var指数=[],
我
对于(i=0;i
你读过吗?该函数接受一个可选的第二个参数…使用您可以执行的映射:
str.split(“”.map(函数(ch,idx){if(ch=='a'){indx.push(idx);})