javascript - 在javascript中执行for循环不成功

标签 javascript json

我在一些 Javascript 代码中有一个 for 循环,但似乎无法弄清楚为什么它没有执行。我有一些 console.log 语句,我试图在其中查看变量是否捕获了我需要它们捕获的内容。但是,当我运行代码时,我没有看到 console.log 命令的任何输出。我在这里缺少什么吗?请参阅下面的 Javascript 代码:

var strArry = [];  

for(var i=0; i<obj[0].srcLanguageSentence.text; i++)
{

    // create variables representing substrings of the Source language Sentence
    var s1 = text.substring((obj[i].srcLanguageSentence.roles[i].beginOffset - obj[i].srcLanguageSentence.roles[i].beginOffset),(obj[i].srcLanguageSentence.roles[i].beginOffset - 1));
    var s2 = text.substring(obj[i].srcLanguageSentence.roles[i].beginOffset,obj[i].srcLanguageSentence.roles[i].endOffset);
    var s3 = text.substring(obj[i].srcLanguageSentence.roles[i].endOffset,obj[i].srcLanguageSentence.text.length);

    strArry.push(s1)
    strArry.push(s2)

    if(i == obj[0].srcLanguageSentence.roles.length)
    {
        strArry.push(s3);
    }

    text =  s3;

 console.log("s1: " + s1);
 console.log("s2: " + s2);
 console.log("s3: " + s3);
 console.log(s1+s2+s3);
}

最佳答案

你的问题是你在 for 循环中的条件语句:

i < obj[0].srcLanguageSentence.text;

你说只要 i 小于 obj[0].srcLanguageSentence.text,这个循环就应该运行,这看起来是错误的。

我猜你要么想为 obj 中的每个对象运行 for 循环(因为你在代码中使用 obj[i])?如果是这样,请这样写:

for (var i=0; i < obj.length; i++)

或者,如果是为了文本的长度:

for (var i=0; i < obj[0].srcLanguageSentence.text.length; i++)

关于javascript - 在javascript中执行for循环不成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31285203/

相关文章:

javascript - createElementNS() 之后更改字体颜色

javascript - 日期验证 : validating Return date is after departure date using datepicker( )

javascript - 滚动到一个元素

javascript - 是否可以在 JavaScript 中获取父类中的元素?

javascript - 使用 Jquery 搜索 JSON

java - gson - 序列化 java pojo 时包含类名 -> json

c# - 如何使用 JSON.NET 遍历嵌套字典?

javascript - 如何组织多个需要 jQuery 和 jQuery 扩展的 portlet?

javascript - 如何从 Angular 本地存储获取对象值?

Python pandas json_normalize 如何