1

这很奇怪,但我无法访问一个属性,该属性是给定 JavaScript 对象上的对象数组。我已经在 Chrome 的控制台上输出了对象本身和访问属性的尝试,结果让我更加困惑。这是我在 Chrome 控制台上收到的关于varnamed上存在的对象的信息quest

[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是一个具有数组属性的Opcoes对象,上面有两个其他对象,但是,我无法.length使用quest.Opcoes.length或任何其他我能想到的方式访问它。

我究竟做错了什么?

4

2 回答 2

3

最外层的结构也是一个数组,因此您需要访问该数组的第一个索引才能访问该对象。

quest[0].Opcoes.length

当你这样做时:

quest.Opcoes.length

您实际上应该得到一个TypeError而不是undefined因为questhas no Opcoesproperty,这意味着.length将访问undefined.

于 2013-10-03T17:22:26.777 回答
1

只是

data[0].Opcoes

Opcoes对象第一行的属性)

于 2013-10-03T17:23:18.173 回答