如何在 javascript 中的数组中添加对象

how to add object in array in javascript

我正在使用网络组件和 OpenAPI。我的 Web 组件根据有价值的 [options] 数据工作。

这是一个饼图,除以 DATA_VALUE 的值,ITEM_NAME 是要显示的标签!

我从 OpenAPI 提取数据并想添加到 var 选项中的 [data] 数组。

我需要使用行 [1] 到 [11],但现在我只使用行 [1],而且效果很好。

所以现在我正在尝试为语句行 [1] 到 [11] 做!

我想知道如何将行 [1] 到 [11] 的数据添加到 var 选项中的 [data]?

我这样试过,但出现错误。猜想是位置不对还是错了。

  options.data.push({DATA_VALUE: dataV, ITEM_NAME2: itemNm2});

这是完整的代码。

<body>
<div class='pie'></div>
<script>
    var styles = {
        legend: {
            use: true,
            stackedGap: 5,
            type: 'insideLegend',
            text: {
                family: 'Nanum Gothic',
                size: 17,
                color: '#333333',
                style: 'normal', /* normal | italic */
                weight: 'bold', /* normal | bold */
                opacity: 1
            }
        }
    };

    $.ajax({
        url: 'http://openapi.crimestats.or.kr/WiseOpen/PoliceDataList/ZTEADTY42D1XJ9XPOZDG/json/1/15/2016/22/01010000006/?/',
        type: 'GET',
        dataType: 'json',
        success: function (resp) {
            console.log(resp);
            var rows = resp.PoliceDataList.row;
            if (rows) {
                var representativeRow = rows[1],

                   /* statNm = representativeRow.STAT_NAME,
                    baseYear = representativeRow.BASE_YEAR,
                    itemNm1 = representativeRow.ITEM_NAME1;*/

                    itemNm2 = representativeRow.ITEM_NAME2;
                    dataV = representativeRow.DATA_VALUE;

                    console.log(itemNm2);
                    console.log(dataV);


/*
                var dataArray = [];
                $.each(rows, function (idx, row) {
                    var tmp = [];
                    tmp.push(row.ITEM_NAME2);
                    tmp.push(Number(row.DATA_VALUE));
                    dataArray.push(tmp);

                });
                console.log(dataArray);
                var jsonEncode = JSON.stringify(dataArray);
                console.log(jsonEncode);*/

                var options = {
                    data: {
                        data: [
                            {DATA_VALUE: dataV, ITEM_NAME2: itemNm2}
                        ]
                        ,
                        use: 'DATA_VALUE'
                    },
                    legend: {
                        use: 'ITEM_NAME2'
                    }
                };
                options.data.push({DATA_VALUE: dataV, ITEM_NAME2: itemNm2});

                pie = webponent.visual.pie.init($(".pie"), styles, options);
            }
        }
    });
</script>
</body>

这是 OpenAPI 的示例值

{
"PoliceDataList":{
"list_total_count":12,
"row":[
{
"ITEM_NAME1":"강간",
"ITEM_NAME2":"계",
"ITEM_CODE2":"X0001",
"ITEM_CODE1":"01010000006",
"STAT_NAME":"검거자",
"DATA_VALUE":"5916",
"STAT_CODE":"22",
"BASE_YEAR":"2016"
},
{
"ITEM_NAME1":"강간",
"ITEM_NAME2":"수사·형사",
"ITEM_CODE2":"X0003",
"ITEM_CODE1":"01010000006",
"STAT_NAME":"검거자",
"DATA_VALUE":"979",
"STAT_CODE":"22",
"BASE_YEAR":"2016"
},
{
"ITEM_NAME1":"강간",
"ITEM_NAME2":"외근·112차",
"ITEM_CODE2":"X0004",
"ITEM_CODE1":"01010000006",
"STAT_NAME":"검거자",
"DATA_VALUE":"1032",
"STAT_CODE":"22",
"BASE_YEAR":"2016"
},

options.data.data.push({DTA_VAL: dataV, ITM_NM: itemNm2});

这很好用!