我想知道我的 for 循环何时进行最后一次迭代。我的意思是我只希望它做一个动作,但要直到循环结束。
一个例子如下:
for (var i=0; i<accordeon; i++) {
if (UltimaIteracion) {
// Instrucciones de la última iteración
}
}
我只对最终的迭代感兴趣,也就是说,如果有 5 次迭代,只有数字 5 会激活if
. 该变量accordeon
是整数类型并且来自数据库,因此它并不总是具有相同的值。
会是这样的
虽然其他答案回答了您问题的特定示例,但要回答基本问题(我如何知道我的 for 循环的最后一次迭代是什么时候?),值得记住循环的工作原理
for
。循环结构
for
它在 JS(和许多其他语言)中的一般形式如下:
(改编自MDN 文档的定义)
循环操作
for
其操作如下:
expresión inicial
condición
。3.1 如果
condición
评估为真,转到步骤 43.2 如果
condición
评估为假,转到步骤 7sentencias a ejecutar
expresión final
for
从图形上看,它相当于这个流程:见 image。
确定循环的最后一次迭代
for
例如,在以下情况下,在
expresión final
块中,我们将 1 到 10 之间的随机整数分配给变量i
。现在这与通常的情况相去甚远:)
典型
最典型的用法(
for
也是您在示例中使用的)如下:i
: 声明一个具有初始值的整数变量(例如
var i=0
orvar i=valorInicial
)(例如
i<42
或i<accordeon
)(例如
i++
或i=i+1
)i
,但没有修改它。(例如
console.log("Esta es la iteración"+i);
或arreglo[i] = 3*i;
)对于这种典型情况,我们知道一旦
sentencias a ejecutar
,变量i
的值将增加 1。这使得以下方法成为检查我们是否处于最后一次迭代的有效方法:它相当于:
去你的例子
它转化为:
相当于
手风琴是一个数组?或者它是什么样的变量?如果它是一个数组,它会是这样的:
如果它不是一个数组,它会是这样的:
正如您在其他答案中所说的那样,它就像做一样简单
您可以使用示例中的布尔类型变量来执行此操作,但是您始终必须执行 if 以将 i 的值与您的限制进行比较,在本例中为手风琴。
虽然第一个选项看起来更简单,更正确。
这很简单,您只需检查i(循环的计数器)是否等于循环内的项目数。
arreglo