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


  显示字符串“ tx_val”中字符“ e”每次出现的位置


    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

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

最佳答案

更好的解决方案可能是这样的:

var lastIndex = tx_val.indexOf('e');
while (lastIndex > -1) {
    os += lastIndex + " ";
    lastIndex = tx_val.indexOf('e',lastIndex + 1);
}

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

10-10 23:41