Javascript 循环增量为>;1问题

Javascript 循环增量为>;1问题,javascript,html,Javascript,Html,我有这个for循环,它适用于I和I+1,但I+2以后的循环不起作用。 错误是: Cannot read property 'logo_sm' of undefined 这是我的密码: var jsonObj = JSON.parse(http_request.responseText); var rows = ''; for(var i=0;i<jsonObj.length;i=i+2){ rows += '<tr><td class="logo_sm">

我有这个for循环,它适用于I和I+1,但I+2以后的循环不起作用。 错误是:

Cannot read property 'logo_sm' of undefined
这是我的密码:

var jsonObj = JSON.parse(http_request.responseText);
var rows = '';
for(var i=0;i<jsonObj.length;i=i+2){
    rows += '<tr><td class="logo_sm">' + "<img src='"+jsonObj[i].logo_sm+"'/>" + '</td><td class="logo_sm">' + "<img src='"+jsonObj[i+1].logo_sm+"'/>" + '</td><td class="logo_sm">' + "<img src='"+jsonObj[**i+2**].logo_sm+"'/>" + '</td></tr>';
    i++;
}
document.getElementsByTagName('table')[0].innerHTML += rows;
var jsonObj=JSON.parse(http_request.responseText); var行=“”;
对于(var i=0;ifor循环的设置方式,您将尝试访问不存在的项的数组索引。

如果您初始化i=json.length并使循环每次递增i+2。当i等于json对象的长度时,您的循环将尝试访问json对象长度加2的元素,该长度不存在

如果您只是想在每个表行中输出一个图像,请执行以下操作:

    var jsonObj = JSON.parse(http_request.responseText);
var rows = '';
for(var i=0;i<jsonObj.length;i++)
{
    rows += "<tr><td class='logo_sm'><img src='"+jsonObj[i].logo_sm+"'/></td></tr>";
}

document.getElementsByTagName('table')[0].innerHTML += rows;
var jsonObj=JSON.parse(http_request.responseText); var行=“”;
对于(var i=0;i是否JSON包含一个数组,或者它是一个对象?为什么要在循环结束时递增i变量?我们还可以看到一个示例响应?无法重现:(既不使用偶数长度的数组,也不使用奇数长度的数组)。您必须提供更多信息,甚至更好。您必须在循环语句中递增变量,如for(var i=0;我认为问题在于循环的内部和顶部都在递增。当循环结束时,向i添加1,然后再向顶部添加2(或1)。如果数组或任何东西的长度小于4项,则会将其打断,因为数组[3]将调用一个不存在的元素。