2016-05-31 9 views
1

JSを使用して配列内にあるサッカー値を印刷しようとしています。 JSで印刷する方法がわかりません。今すぐ試してみると、undefinedとして印刷されます。私は以下のJSとJSONの一部を提供しています。あなたはそれを修正する方法を教えてくれますか?jsを使用して配列内にjson値を出力する

if (item.data.football == true) { 
    console.log("print football---->" + item.data[0].football); 
} 
"data": [{ 
    "sportsProperty": "Insurance", 
    "football": true 
}, 
{ 
    "sportsProperty": "Insurance", 
    "football": true 
}] 

答えて

1

あなたのオブジェクトのdataプロパティは配列ですので、あなたは、インデックスによってそのメンバーにアクセスする必要があります。唯一の配列内の最初の項目にアクセスする上記

if (item.data[0].football) { // note the [0] after 'data' 
    // do something... 
    console.log(item.data[0]); 
} 

:これを試してみてください。あなたはそれらのすべてで作業したい場合は、このように、ループを使用する必要があります。

for (var i = 0; i < item.data.length; i++) { 
    if (item.data[i].football) { 
     // do something... 
     console.log(item.data[i]); 
    } 
} 

Working example

0

あなたはitemを宣言していますか? item.dataと書くと、dataオブジェクトがitemオブジェクト内にあることを意味しています。

また
var item = { 
    "data": [ 
    { 
     "sportsProperty": "Insurance", 
     "football": true 
    }, 
    { 
     "sportsProperty": "Insurance", 
     "football": true 
    } 
    ] 
}; 

、あなたは配列内の位置を指定する必要があるため、undefinedを返しitem.data.football:仕事をするためには、あなたのコードは、次のようになるはずです。そうしないと、あなたが尋ねることができます:

if (!!item.data) 

item.dataは空のオブジェクトでない場合trueを返しますどの。

さらなるヘルプが必要な場合はお知らせください。

関連する問題