var vacationSpots = ['Paris', 'New York', 'Barcelona'];
for(var i = vacationSpots.length - 1; i >= 0; i--) {
console.log('I would love to visit ' + vacationSpots[i]);
}
大家好,我的问题是" -1"中的逻辑是什么?在for循环中反向。我得到for(var i = vacationSpots.length; i >= 0; i--) {
帮助你向后运行。但在向后打印数组中的项目时使用-1是什么意思?
答案 0 :(得分:2)
非常简单......数组长度是一个计数,但索引是基于零的。
因此,如果myArray
长度为5,则最后一个索引为4且myArray[5]
不存在。
因此,当按索引迭代数组时,您无法超越最后一个length-1
答案 1 :(得分:1)
(vacationSpots.length)
是数组的长度,但数组索引从0
开始。所以这里i
值设置为2表示循环将执行3次
最初i
将设置为2,因此vacationSpots[2]
将为I would love to visit Barcelona', then
我decremented to 1 and output will be
我很乐意访问纽约' &安培;最后为0,输出为I would love to visit Paris
答案 2 :(得分:1)
还有另一种反向循环方式(没有'-1'):
var vacationSpots = ['Paris', 'New York', 'Barcelona'];
for (var i = vacationSpots.length; i--;) {
console.log('I would love to visit ' + vacationSpots[i]);
}
答案 3 :(得分:0)
Javascript中的索引数组从0开始,所以你有vacationSpots [0] = Paris,vacationSpots [1] =纽约,vacationSpots [2] =巴塞罗那。 vacationSpots.length是3所以你需要打印0 1 2.一般索引从0到n-1,其中n =项目数(长度)。