使用js在数组内打印json值

时间:2016-05-31 21:22:31

标签: javascript jquery html css reactjs

我正在尝试使用JS打印数组内部的足球值。我不知道如何在JS中打印它。现在,当我尝试打印为undefined时。我在下面提供我的JS和JSON的一部分,你能告诉我如何修复它吗?

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您是否宣布item?通过编写item.data,您暗示data对象位于item对象中。为了工作,您的代码应如下所示:

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

此外,item.data.football会返回undefined,因为您需要在数组中指定一个位置。否则,你可以问:

if (!!item.data)

如果true不是空对象,则会返回item.data

如果您需要任何进一步的帮助,请与我们联系。