1

これは非常に奇妙ですが、指定された JavaScript オブジェクトのオブジェクトの配列であるプロパティにアクセスできません。オブジェクト自体とプロパティへのアクセスの試みを Chrome のコンソールに既に出力しましたが、その結果はさらに混乱を招きます。varnamedに存在するオブジェクトについて、Chrome のコンソールで受け取ったものは次の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つのオブジェクトで名前が付けられた配列プロパティを持つオブジェクトであるように見えるため、本当に混乱していますが、それを使用したり、考えられる他の方法でOpcoesアクセス.lengthしたりできません。quest.Opcoes.length

私は何を間違っていますか?

4

2 に答える 2

3

最も外側の構造も配列であるため、その配列の最初のインデックスにアクセスしてオブジェクトにアクセスする必要があります。

quest[0].Opcoes.length

あなたがこれをしたとき:

quest.Opcoes.length

のプロパティにアクセスすることを意味するため、プロパティがないので、実際にはTypeErrorを取得する必要があります。undefinedquestOpcoes.lengthundefined

于 2013-10-03T17:22:26.777 に答える
1

ただ

data[0].Opcoes

(Opcoesオブジェクトの最初の行の属性)

于 2013-10-03T17:23:18.173 に答える