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

标签 javascript arrays javascript-objects

这很奇怪,但我无法访问给定 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/

相关文章:

c - 将二进制值存储到无符号 int 数组中

javascript - 基于路径合并 JavaScript 对象的最短方法

javascript - 使用 GTM 和自定义事件时未定义 Google Analytics 事件标签

javascript - 在 onclick 事件上请求麦克风

C 简单数组代码不起作用

java - 使用数组执行计算

Javascript 排序多维对象

javascript - 单个 Javascript 对象属性的多个值

javascript - 调用具有单个 Promise 参数的 native 模块的 JS 语法是什么?

javascript - 如何在图像上方设置指标