如何访问JavaScript对象上的数组属性
这很奇怪,但我就是无法访问给定JavaScript对象上的对象数组属性。我已经在Chrome的控制台上输出了对象本身和访问属性的尝试,结果让我更加困惑。 以下是我在Chrome控制台上收到的关于如何访问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
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