在循环中检查数组在 Javascript/QML 中有下一个元素

Sae*_*ani 4 javascript qml

我有一个数组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我不想做绑定检查

ble*_*lex 5

如果你想遍历除最后一个元素(后面没有元素)之外的每个元素,你应该按照建议执行:

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(并且不执行条件)。