Javascript 查找字符串中所有字符的索引

Javascript 查找字符串中所有字符的索引,javascript,jquery,Javascript,Jquery,如何查找字符串中出现的所有字符。例如字符串是:“Hello world” 现在,用户希望看到字符串的索引,其中“L”存在。如例2、3和9所示。如何在java script/jquery中找到这样的索引?例如,如果您想找到所有的b,然后将它们写入文档- var foo = "foo bar baz bat"; var pos = foo.indexOf("b"); while(pos > -1) { document.write(pos + "<br />");

如何查找字符串中出现的所有字符。例如字符串是:“Hello world”
现在,用户希望看到字符串的索引,其中“L”存在。如例2、3和9所示。如何在java script/jquery中找到这样的索引?

例如,如果您想找到所有的b,然后将它们写入文档-

var foo = "foo bar baz bat";

var pos = foo.indexOf("b");
while(pos > -1) {
    document.write(pos + "<br />");
    pos = foo.indexOf("b", pos+1);
}

例如,如果您希望找到所有b,然后将它们写入文档-

var foo = "foo bar baz bat";

var pos = foo.indexOf("b");
while(pos > -1) {
    document.write(pos + "<br />");
    pos = foo.indexOf("b", pos+1);
}

下面是一些伪代码。这就是在开始编码之前,您应该尝试并解决问题的逻辑

var indeces = {};

for(each character in string)
   if(character == characterImLookingFor)
       indeces.add(currentIndex);

return indeces;

下面是一些伪代码。这就是在开始编码之前,您应该尝试并解决问题的逻辑

var indeces = {};

for(each character in string)
   if(character == characterImLookingFor)
       indeces.add(currentIndex);

return indeces;

您可以从以下位置尝试类似以下代码的操作:


您可以从以下位置尝试类似以下代码的操作:


您还可以使用正则表达式来实现这一点:

var str = "Give me indexes of i in this string";
var regex = /i/gi, result;
while ((result = regex.exec(str)) ) {
    console.log(result.index);
}

//Output: 1, 8, 19, 21, 26, 32

您也可以使用正则表达式来实现这一点:

var str = "Give me indexes of i in this string";
var regex = /i/gi, result;
while ((result = regex.exec(str)) ) {
    console.log(result.index);
}

//Output: 1, 8, 19, 21, 26, 32

用法:

getIndexes("Hello world","l"); // returns [2,3,9]
用法:

getIndexes("Hello world","l"); // returns [2,3,9]

如果你清理你的饼干呢?你不会丢失你所有的帐户信息吗>?如果你清除了你的cookies怎么办?您是否将丢失所有帐户信息>?我知道如何查找第一次出现的字符,但无法确定如何查找所有出现的字符。使用循环可以找到出现的次数,但我不知道返回所有索引。我知道如何查找第一次出现的可能重复,但无法找到一个字符的所有匹配项。使用循环可以找到匹配项的数量,但我不知道如何返回所有索引。非常感谢您提供了这么好的代码,这正是我需要的。非常感谢您提供了这么好的代码,这正是我所需要的。谢谢