2
[
{
    "Description": "Accommodation",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 24
        },
        {
            "label": "Excellent",
            "data": 30
        },
        {
            "label": "Good",
            "data": 96
        },
        {
            "label": "Poor",
            "data": 2
        }
    ]
},    
{
    "Description": "Food and Beverage",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 44
        },
        {
            "label": "Excellent",
            "data": 24
        },
        {
            "label": "Good",
            "data": 94
        },
        {
            "label": "Poor",
            "data": 13
        }
    ]
},
{
    "Description": "Meeting Space",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 30
        },
        {
            "label": "Below Expectations",
            "data": 2
        },
        {
            "label": "Exceeds Expectations",
            "data": 3
        },
        {
            "label": "Excellent",
            "data": 54
        },
        {
            "label": "Good",
            "data": 111
        },
        {
            "label": "Meets Expectations",
            "data": 7
        },
        {
            "label": "Poor",
            "data": 6
        }
    ]
},    
{
    "Description": "Service",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 25
        },
        {
            "label": "Exceeds Expectations",
            "data": 3
        },
        {
            "label": "Excellent",
            "data": 46
        },
        {
            "label": "Good",
            "data": 111
        },
        {
            "label": "Meets Expectations",
            "data": 8
        },
        {
            "label": "Poor",
            "data": 11
        }
    ]
},
{
    "Description": "Standard of Decor",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 38
        },
        {
            "label": "Excellent",
            "data": 34
        },
        {
            "label": "Good",
            "data": 126
        },
        {
            "label": "Poor",
            "data": 5
        }
    ]
}
]

上記の JSON を使用して、それぞれをループして、説明を含む 2 つの変数と、jquery/javascript の ChartData の配列を割り当てるにはどうすればよいですか?

foreach() {
var Description = data[].Description;
var ArrayOfChartData = data[].ChartData;
}

.each ループを使用してみましたが、正しいデータを返すことができません。

4

1 に答える 1

2

JavaScript 配列には次のforEachメソッドがあります。

data.forEach(function (v) {
    var Description = v.Description;
    var ArrayOfChartData = v.ChartData;
    // now use that...
});

これがフィドルです:http://jsfiddle.net/u7RuZ/


残念ながら、IE < 9 はこれをサポートしていません。IE8 をサポートする必要がある場合は、jQuery を使用できます$.each

$.each(data, function (i, v) {
    var Description = v.Description;
    var ArrayOfChartData = v.ChartData;
    // now use that...
});

これがフィドルです:http://jsfiddle.net/u7RuZ/1/

于 2013-01-15T17:27:38.430 に答える