Javascript:字符串中重复的字母索引,无循环
我想知道如何获取字符串中重复字母的所有索引,如: “巴哈马香蕉” 我想得到“a”的所有索引。如果我执行str.indexOf(“a”),我将只得到字符串中的第一个“a” 每次我试图检查那封信的索引,我得到1 我想: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
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);})代码>