我有一个数组items。我需要确保在循环的当前迭代中我可以安全地调用数组的下一项
for(var i = 0; i < items.length; ++i) {
// do some stuff with current index e.g....
item = items[i];
// then do something with item @ i+1
if(items[i+1]) {
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
这是如何完成的,或者如果不是如何/什么是更好的方法?
PS我不想做绑定检查
如果你想遍历除最后一个元素(后面没有元素)之外的每个元素,你应该按照建议执行:
for(var i = 0; i < items.length-1; ++i) {
// items[i+1] will always exist inside this loop
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您想遍历每个元素 - 甚至是最后一个 - 并且如果后面有元素,只需添加一个条件,只需在循环中移动相同的条件:
for(var i = 0; i < items.length; ++i) {
// do stuff on every element
if(i < items.length-1){
// items[i+1] will always exist inside this condition
}
}
Run Code Online (Sandbox Code Playgroud)
if(items[i+1])如果下一个元素包含像false, 0, 之类的 falsey 值""(返回空字符串false),则将返回 false(并且不执行条件)。
| 归档时间: |
|
| 查看次数: |
10969 次 |
| 最近记录: |