我有一个我想要填充的数组,每次选择一个新的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])
答案 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);