如何在javascript中检测循环的结束

时间:2015-10-30 04:40:32

标签: javascript jquery

使用for(var i = 0; i < str.length; i++)我可以轻松检测到循环是否在最后。

但我怎么知道我是在为每个人使用还是为每个人使用。

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

    if(End of for) //Do something if the end of the loop

}

如何在javascript中找到for的最后一个循环?

5 个答案:

答案 0 :(得分:2)

for(var i = 0; i < str.length; i++) {        
    if(i== str.length-1) { 
    //Do something if the end of the loop    
    }
}

使用forin

 for (var item in str) {
      if(str[str.length-1] == item) {
        //Do something if the end of the loop
      }
    }

答案 1 :(得分:0)

将最后一件事与循环分开。请注意在条件中使用str.length - 1

//from the beginning up to but not including the last index
for(var i = 0; i < str.length - 1; i++) {
    console.log(i)
}
//from the last index only
console.log(str.length - 1)

forEach循环中,必须在数组上线性迭代,因此需要一些条件逻辑和计数器来检测最后一个元素。我发现下面的内容更难阅读,效率也更低,特别是如果你真的以这种方式使用匿名函数。此外,由于需要一个计数器,使用我分享的第一种方法更有意义。

var i = 0;
array.forEach(function(i) {
    if(i === str.length - 1) {
        //do the last thing
    } else {
        //do all the other things
    }
    i++;
});

答案 2 :(得分:0)

const str = "I am a 24 letter string!";

for (let i = 0; i < str.length; i++) {

  if (i + 1 === str.length) {
    console.log('Last loop:', i + 1)
  }

}

答案 3 :(得分:0)

for (var item in str) {
    if(str[parseInt(item)+1] === undefined) {
        //Do something if the end of the loop
    }
}



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

     if(i == (arr.length - 1)){
      //do you stuff
     }
 }

答案 4 :(得分:-1)

您可以使用console.log()。如果将其放入循环中,您将能够在控制台中查看每个结果。

distutils