使用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的最后一个循环?
答案 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