关于如何捕获 jscript for 循环中的最后一个索引的想法,其中索引的长度是未知的?



考虑以下 for 循环(假设我们不知道 3 次表 - 即可能发生多少结果(。

<script summary>
function myFunction() {
var output_text = "";
var i;
for (i = 0; i < 20; i++) {

if (Number.isInteger(i/3)){
if ("e.g. this is the last index?") {"e.g.then do this?"
output_text += "This number is the last " + i ;
}else{
output_text += "The number is " + i + "<br>";
}
}
}

}
</script>

尝试"output_text"如下:
数字为 0
数字为 3 数字为 6
数字为 9

数字为 12
数字为 15
数字为最后 18

关于如何捕获最后一个循环迭代的任何想法。 这只是一个例子,因为实际应用程序有点罗嗦 - 但概念是相同的。 我可以先运行计数来获取索引长度,但想知道是否有更简单的方法。 非常感谢任何人的时间。也首先去发帖 - 欢迎任何建议。

只需将3添加到当前索引并检查它是否超过19.

function myFunction() {
var output_text = "";
var i;
const max = 19;
const factor = 3;
for (i = 0; i <= max; i++) {
if (i % factor === 0){
if (i + factor > max) {
output_text += "This number is the last " + i ;
}else{
output_text += "The number is " + i + "<br>";
}
}
}
return output_text;
}
document.write(myFunction());

如果你有一个可以被 3 整除的数字,请执行第二次检查,看看 20 减去是否i<3,你就会知道它是否是最后一个数字。

function myFunction() {
var output_text = "";
for (var i = 0; i < 20; i++) {   
if (Number.isInteger(i/3)){
if (20 - i < 3) {
output_text += "This number is the last " + i ;
}else{
output_text += "The number is " + i + "<br>";
}
}
}
document.getElementById("out").innerHTML = output_text;
}
myFunction();
<div id="out"></div>

更好的方法是在下一次迭代中显示当前迭代的结果。在这种情况下,不会在循环中处理上次迭代。因此,您可以轻松处理它。

最新更新