Javascript 为什么添加两个数组长度会对其索引值求和,而不是对其实际长度的值求和?

Javascript 为什么添加两个数组长度会对其索引值求和,而不是对其实际长度的值求和?,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我可以看到,函数将输出[19]添加到输出[18]以生成4181的和,但是为什么和不是37 函数fibonacciGenerator(n){ var输出=[]; 对于(变量i=0;i

我可以看到,函数将输出[19]添加到输出[18]以生成4181的和,但是为什么和不是37

函数fibonacciGenerator(n){
var输出=[];
对于(变量i=0;i斐波那契发生器(20)output[19]
将解析为数组
output
的索引
19
的值。如果你想对
19
18
求和,那么你需要
19+18
我明白了,所以通过在[index]中声明.length,我是说通过缩短数组的长度并记录在缩短的位置找到的内容来获取该位置的索引值?如果这没有什么意义,请原谅,但是我相信我理解你的意思。明白了,所以我说的是加上输出[索引值从第一到最后]+输出[索引值从第二到最后],这就是求和在这些索引中找到的实际值,而不仅仅是求和数组的两个不同长度,这将是一个非常小的数字。这很有道理。谢谢大家@vash2022好的,如果数组中有3个项目(
array.length==3
),那么在索引
0
1
2
中就有一个项目。如果再添加一个,则
.length
4
,最后一个索引现在为
3
。所以,一般来说,长度总是比最后一个索引长一个。@VLAZ我明白了!这是有道理的,所以我说(output.length-1是7),在output[7]是我的数组的最终值,从output[0]开始有8个元素,但我们必须从output[0]开始计数,因为第一个元素意味着最后一个元素将位于索引[7]——这是output[output.length-1]生成的和。完全有道理。非常感谢你。