Javascript给了我一个与我预期不同的价值

时间:2016-03-18 21:01:56

标签: javascript arrays function

我正在写一些基本的Javascript

// sample value of bigArrayOMG, real variable name!!
var bigArrayOMG = [3, 5, 7, 12, 13, 14, 20, 23, 29, 29, 102, 29, 39, 40, 56];

var bigArrayObject = function(bigArrayOMG) {
  bigArrayOMG = bigArrayOMG[3] + bigArrayOMG[9];
  return bigArrayOMG;
}

bigArrayObject(bigArrayOMG);

当我预料到36时,我得到42的结果。有谁知道为什么?

2 个答案:

答案 0 :(得分:5)

您需要了解bigArrayOMG[3]指向第4个索引,因为数组索引从0开始。

bigArrayOMG[3] + bigArrayOMG[9]

相当于:

12 + 29 = 41

答案 1 :(得分:4)

JavaScript数组索引从0开始,所以:

bigArrayOMG = [3, 5, 7, 12, 13, 14, 20, 23, 29, 29, 102, 29, 39, 40, 56];
bigArrayOMG[0] == 3
bigArrayOMG[3] == 12
bigArrayOMG[9] == 29

如果您希望结果为36,请使用:

bigArrayOMG[2] + bigArrayOMG[8]
            ^                ^
            7                29