gpt4 book ai didi

javascript - 如何显示字符串中每次出现字符的位置?

转载 作者:行者123 更新时间:2023-11-30 07:40:15 28 4
gpt4 key购买 nike

我正在做家庭作业。这是我的问题和尝试的解决方案。

Show the location of each occurence of the character "e" in the string "tx_val"

    tx_val="the quick brown fox jumped over the lazy dogs back";

os=' '; //output string
eloc=' ';

for (i=0; i<tx_val.lastIndexOf('e');i++)
{
if(tx_val.indexOf('e')!= -1)
{

eloc=tx_val.indexOf('e') ;
os=os+eloc;
i++;
}

}

我的预期结果:2 24 29 34

我的结果:2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

我不是在寻找答案,而是在寻找解释为什么我的逻辑不起作用并为我指明正确方向的人。

最佳答案

当在同一字符串上使用单个参数调用时,indexOf()每次都会返回相同的索引。

indexOf() 的第一个参数是要匹配的子串。第二个可选参数是开始搜索表单的索引。除非您传递此参数,否则结果不会在每次迭代之间发生变化。

假设循环应该有一个等于 lastIndexOf() 值的 i 迭代器也是不正确的。这只会使循环运行许多冗余迭代,因为匹配项的数量肯定不等于匹配索引的值(除非字符串仅由 e 个字符组成)。换句话说,如果您在索引 24 中只有一个匹配项,循环仍将无缘无故地重复 23 次。

关于javascript - 如何显示字符串中每次出现字符的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185713/

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