javascript - 我的 javascript 函数陷入了循环......

标签 javascript function loops logic

我无法理解我的逻辑哪里失败了!当我尝试对从数组中的段落中获取的单词施加 word.length 条件时,我陷入了无限循环。请告诉我您的想法,谢谢大家!

var str = document.getElementsByTagName('p')[0].innerHTML;
console.log(str);



function wordIndexes(str) {
    var result = [];
    var len = str.length;
    var i = 0, j, word;

    while (i < len) {
        if (str[i] === ' ') {
            ++i;
        }
        else {
            word = "";
            for (j = i; j < len && str[j] !== ' '; ++j) {
                word += str[j];
            }

              console.log(word.length);

            //imposing length conditions
              if (word.length < 4)
               {console.log('too short')}

              else {    
              result.push([i, word]);
              i = j;
              };


        }
    }
    return result;  
}

最佳答案

如果字长小于 4,您的代码会记录一条消息,但不会更新 i,因此下一次迭代会在同一点开始,并在同一点失败。

我建议采用替代方案,但尚不清楚您打算如何处理这种情况。

关于javascript - 我的 javascript 函数陷入了循环......,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17587379/

相关文章:

javascript - 使用 Angular 页面滚动事件

javascript - 使用 JSON 作为数据库的最佳方式?

javascript - 我应该在变量中设置 Math.PI

java - 将方程转化为代码

ios - 动画 For 循环图像不显示

javascript - Promise then 并在 NodeJS 中捕获

python - 在字符串/数组中存储多个函数值 (Python)

ruby - 这个函数的单行版本? ( ruby 1.8.6)

python - 如何在不多次调用函数的情况下访问函数内、函数外生成的字典。 PYTHON

c# - 在 foreach 循环内的开关嵌套中使用 `continue` 关键字