我无法理解问题的答案。
我被告知在任何数组中找到答案的最后一个元素:
alert(countries[countries.length - 1]);
然而,我被告知要循环遍历整个数组列表,例如
for(counter=0; counter < presidents.length; counter++) {
document.write(presidents[counter]);
}
问题是....
为什么counter < presidents.length
而不是counter < presidents.length-1
在之前的示例中是这样的?
答案 0 :(得分:0)
因为您还需要打印最后一个值。
例如,让数组为
var presidents = ["one", "two", "three", "four"];
此处presidents.length = 4
现在,如果您执行counter < presidents.length-1
,则计数器会从 0变为2 。
你要么做
counter <= presidents.length-1
或counter < presidents.length
为了使counter
从 0到3 。
PS:数组索引在JavaScript中从0开始。
答案 1 :(得分:0)
因为数组索引从零开始,最后一个元素将在(size-1)位置。在for循环中,您使用的是小于(&lt;)符号。它将是&lt;大小或&lt; =(大小-1)。
答案 2 :(得分:0)
可能还值得一提的是,for循环因为事情的发生而起作用。请听以下声明:
for ([initialExpression]; [condition]; [incrementExpression]) {
[statement]
}
&#13;
立即评估
initialExpression
,通常用于创建要递增的变量,就像使用counter=0
一样。
condition
在执行执行语句之前进行评估。如果条件是真实的,则执行该语句;如果没有,循环终止。
incrementExpression
被评估为。因此,在此处递增counter
会通知下一次condition
评估。
将condition
评估结果放在一起,如下所示:
if 0 < presidents.length // true
if 1 < presidents.length // true
. . .
if 44 < presidents.length // true and will produce the final president element
if 45 < presidents.length // false and terminate the loop
&#13;