这很奇怪,但我无法访问给定 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
的数组属性,上面还有 2 个其他对象,但是,我就是不能使用 quest.Opcoes.length
或我能想到的任何其他方式访问它的 .length
。
我做错了什么?
最佳答案
最外层结构也是一个数组,因此您需要访问该数组的第一个索引才能到达对象。
quest[0].Opcoes.length
当你这样做的时候:
quest.Opcoes.length
你实际上应该得到一个 TypeError 而不是 undefined
因为 quest
没有 Opcoes
属性,意思是 .length
将访问 undefined
上的属性。
关于javascript - 如何访问 JavaScript 对象的数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19165303/