如何访问数组

时间:2017-05-25 08:21:27

标签: javascript arrays object

我有一个我想要填充的数组,每次选择一个新的startId和endID时,但是一旦我将新对象添加到数组中,我就无法访问对象中的变量,当我发出警报时,我得到了未定义作为一种价值。

这是我的代码;

        value = {start: this.startId, end :this.endId};

        this.array[this.array.length] = value;
        alert(this.array[this.array.length].start + " " + this.array[this.array.length].end)

我也试过这个

            value = {start: this.startId, end :this.endId};

            this.array[this.array.length] = value;
            alert(this.array[this.array.length][start] + " " + this.array[this.array.length][end])

1 个答案:

答案 0 :(得分:0)

由于您正在访问阵列外部的密钥,因此无法正常工作。

看一下这个例子:

[1,2,3]// an array with the indexes 0=1, 1=2 , 2=3
.length;//3

因此,虽然你可以在arrays.length位置插入一个新元素,但你不能从那里得到一个元素,因为它不存在。

所以你需要访问length-1位置的最后一个元素:

alert(this.array[this.array.length-1].start);

旁注:

不使用数组[array.length]添加新元素,而是可以使用push函数:

this.array.push(value);