2017-05-25 94 views
0

我有一個數組,我想填充,每次選擇一個新的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

請加編程語言使用 – ianace

+0

陣列從'0'索引,以便最後是'長 - 1' –

+0

嘗試'警報(this.array [此。 array.length] [0] .start);' –

回答

0

,因爲你正在訪問的關鍵是在陣列之外這是行不通的。

有一個看看這個例子:

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

因此,儘管你可以插入在arrays.length位置的新元素,你不能讓一個從那裏,因爲它不存在。

所以你需要在長度爲1的位置來訪問的最後一個元素:

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

旁註:

而不是使用數組[array.length]添加你可以使用一個新元素推功能:

this.array.push(value); 
+0

這幫了,謝謝 –

+0

@zerek編輯提供了一個更好的解釋。如果你更喜歡你自己的答案,隨時回滾... –

+0

@ le.lop請驗證我的答案! – zerek