2013-10-03 49 views
1

這非常奇怪,但我無法訪問屬性,該屬性是給定JavaScript對象上的對象數組。我已經在Chrome的控制檯上輸出了對象本身以及訪問屬性的嘗試,結果導致我更加困惑。 下面是我對Chrome的控制檯上收到關於存在的對象上var命名爲quest什麼:如何訪問JavaScript對象上的數組屬性

[Object] 
0: Object 
    FuncaoValNum: "" 
    IDQuestaoMultiplaEscolha: 0 
    Opcoes: Array[2] 
     0: Object 
      IDOpcaoQuestaoMultiplaEscolha: 0 
      IDQuestaoMultiplaEscolha: "0" 
      Ordem: 0 
      Texto: "Op1" 
      (...) 
      __proto__: Object 
     1: Object 
      IDOpcaoQuestaoMultiplaEscolha: 0 
      IDQuestaoMultiplaEscolha: "0" 
      Ordem: 1 
      Texto: "Op2" 
      (...) 
      __proto__: Object 
     length: 2 
     __proto__: Array[0] 
    (...) 
    __proto__: Object 
    length: 1 
__proto__: Array[0] 

,並在下一行輸出上述信息的,我只是試圖通過訪問對象的Opcoes數組的長度quest.Opcoes.length。其結果是:

undefined 

真的很困惑,因爲它似乎quest是上面有2個其他對象,但一個名爲Opcoes數組屬性的對象,我只是不能訪問它的.lengthquest.Opcoes.length或任何其他我能想到的方式。

我在做什麼錯?

回答

3

最外層的結構也是一個數組,因此您需要訪問該數組的第一個索引才能訪問該對象。

quest[0].Opcoes.length 

當你這樣做:

quest.Opcoes.length 

你實際上應該得到一個類型錯誤而不是undefined因爲quest沒有Opcoes財產,這意味着.length將在undefined訪問屬性。

+0

好了,不知道爲什麼它輸出一個「不確定的」,但現在,我真的很高興它的工作......我錯過了它實際上是一個數組。非常感謝!只有外眼睛才能抓住的東西! :d –

1

只是

data[0].Opcoes

(屬性你的對象的第一行的Opcoes