这很奇怪,但我无法访问属性,该属性是给定JavaScript对象上的对象数组。我已经在Chrome控制台上输出了对象本身以及访问该属性的尝试,结果导致我更加困惑。
以下是我在Chrome控制台上收到的有关名为var
的{{1}}上的对象的信息:
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
的数组属性的对象,上面有2个其他对象,然而,我只是无法访问它{{1}使用Opcoes
或我能想到的任何其他方式。
我做错了什么?
答案 0 :(得分:3)
最外面的结构也是一个数组,因此您需要访问该数组的第一个索引才能到达该对象。
quest[0].Opcoes.length
当你这样做时:
quest.Opcoes.length
你实际上应该得到一个 TypeError 而不是undefined
,因为quest
没有Opcoes
属性,这意味着.length
将访问一个属性undefined
。
答案 1 :(得分:1)
只是
data[0].Opcoes
(对象第一行的属性Opcoes
)