逻辑在" -1"需要。 for javascript

时间:2017-05-29 15:40:54

标签: javascript arrays for-loop

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是什么意思?

4 个答案:

答案 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', thendecremented 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 =项目数(长度)。