javascript - 如何在循环内检查 for 循环何时完成?

标签 javascript

这是我制作的一个快速 jsfiddle,可以更好地说明我的问题。

function gi(id){return document.getElementById(id)}

    a= [1,5,1,2,3,5,3,4,3,4,3,1,3,6,7,752,23]


for(i=0; i < a.length; i++){
    /*
    if (WHAT AND WHAT){ What do I add here to know that the last value in the array was used? (For this example, it's the number: 23. Without doing IF==23.

    }
    */

    gi('test').innerHTML+=''+a[i]+' <br>';
}

(代码也可以在 https://jsfiddle.net/qffpcxze/1/ 获得)

所以,该数组中的最后一个值是 23,但我怎么知道最后一个值是在循环本身内部循环的? (不检查简单的 IF X == 23,而是动态检查),如果这有意义的话。

最佳答案

写一个 if 语句来比较数组长度和 i

if(a.length - 1 === i) {
    console.log('loop ends');
}

或者你可以使用三元组

(a.length - 1 === i) ? console.log('Loop ends') : '';

Demo

另请注意,我使用的是 - 1,因为数组索引从 0 开始,并且返回的长度从 1 开始计数,以便比较数组我们用长度取反 -1

关于javascript - 如何在循环内检查 for 循环何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30024066/

相关文章:

javascript - 如何使用 Highcharts 制作 Tornado 图表

javascript - 如何更改占位符,就像元素相互替换一样?

asp.net - 动态添加客户端脚本到asp.net页面

javascript - 如何按两个属性对数组进行排序 - 按字母顺序排列但末尾为空值?

javascript - 未捕获的类型错误 : Cannot read property 'axis' of undefined

javascript - HTML5 自定义视频控件

javascript - 寻找更接近的值

javascript - 无法清除 Jquery 中的所有复选框

javascript - 响应式导航在移动设备上的表现不尽如人意

javascript - Glider.js 不工作。我的旋转木马,使用滑翔机 JS 不工作/