gpt4 book ai didi

javascript - 查找字符串中指定字符的所有索引

转载 作者:IT王子 更新时间:2023-10-29 02:58:11 29 4
gpt4 key购买 nike

例如,如果我在变量中有 "scissors" 并且想知道字母 "s" 所有出现的位置,它应该打印出 1、4、5、8

我怎样才能以最有效的方式在 JavaScript 中执行此操作?我不认为循环遍历整个过程非常有效

最佳答案

一个简单的循环效果很好:

var str = "scissors";
var indices = [];
for(var i=0; i<str.length;i++) {
if (str[i] === "s") indices.push(i);
}

现在,您表示想要 1、4、5、8。这将为您提供 0、3、4、7,因为索引是从零开始的。所以你可以添加一个:

if (str[i] === "s") indices.push(i+1);

现在它会给你预期的结果。

一个 fiddle 可以看到here .

I don't think looping through the whole is terribly efficient

就性能而言,在您开始遇到问题之前,我不认为这是您需要非常担心的事情。

这是一个jsPerf测试比较各种答案。在 Safari 5.1 中,IndexOf 表现最好。在 Chrome 19 中,for 循环是最快的。

enter image description here

关于javascript - 查找字符串中指定字符的所有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710345/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com