如何访问JavaScript对象上的数组属性

如何访问JavaScript对象上的数组属性,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,这很奇怪,但我就是无法访问给定JavaScript对象上的对象数组属性。我已经在Chrome的控制台上输出了对象本身和访问属性的尝试,结果让我更加困惑。 以下是我在Chrome控制台上收到的关于var上出现的名为quest的对象的信息: [Object] 0: Object FuncaoValNum: "" IDQuestaoMultiplaEscolha: 0 Opcoes: Array[2] 0: Object IDOpcaoQ

这很奇怪,但我就是无法访问给定JavaScript对象上的对象数组属性。我已经在Chrome的控制台上输出了对象本身和访问属性的尝试,结果让我更加困惑。 以下是我在Chrome控制台上收到的关于
var
上出现的名为
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]
在输出上述信息的下一行,我只是尝试使用
quest.Opcoes.length
访问对象的
Opcoes
数组长度。结果是:

undefined 
我真的很困惑,因为似乎
quest
是一个具有名为
Opcoes
的数组属性的对象,上面还有两个其他对象,但是,我无法使用
quest.Opcoes.length
或我能想到的任何其他方式访问它的
.length


我做错了什么?

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

quest[0].Opcoes.length

当你这么做的时候:

quest.Opcoes.length

实际上,你应该得到一个TypeError而不是
undefined
,因为
quest
没有
Opcoes
属性,这意味着
。length
将访问
undefined

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

quest[0].Opcoes.length

当你这么做的时候:

quest.Opcoes.length
实际上,您应该得到一个类型错误,而不是
未定义的
,因为
quest
没有
Opcoes
属性,这意味着
。length
将访问
未定义的
上的属性

数据[0]。操作系统

(对象第一行的属性
Opcoes

数据[0]。操作系统


(对象第一行的属性
Opcoes

嗯,我不知道为什么它会输出一个“未定义”,但现在,我真的很高兴它能工作。。。我不知道它实际上是一个数组。谢谢!只有外眼才能捕捉到的东西!:德威尔,我不知道为什么它会输出一个“未定义的”,但现在,我真的很高兴它能工作。。。我不知道它实际上是一个数组。谢谢!只有外眼才能捕捉到的东西!:D