简体   繁体   English

如何在JavaScript数组中添加对象

[英]how to add object in array in javascript

I'm using web component and OpenAPI. 我正在使用Web组件和OpenAPI。 and my web component works by valuable [options]'s data. 我的Web组件通过有价值的[options]数据工作。

it's a pie chart and divided by DATA_VALUE's value and ITEM_NAME is label to show! 这是一个饼图,除以DATA_VALUE的值,即可显示ITEM_NAME!

I extract data from OpenAPI and want to add to array of [data] in var options. 我从OpenAPI提取数据,并希望在var选项中添加到[data]数组。

I need to use rows[1] to [11] but now I'm using only rows[1] and it work's well. 我需要使用rows [1]到[11],但是现在我只使用rows [1],它的工作原理很好。

so now i'm trying to do for statement rows[1] to [11]! 所以现在我正在尝试为语句行[1]到[11]做!

I'm wondering how can i add rows[1] to [11]'s data to [data] in var options? 我想知道如何在var选项中将[11]的行[1]添加到[data]?

i tried like this but it occurs error. 我试图这样,但发生错误。 guess it isn't on right location or wrong . 猜猜它不在正确的位置还是错误的位置。

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

this is entire code. 这是完整的代码。

<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>

this is example value of OpenAPI 这是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}); options.data.data.push({DTA_VAL:dataV,ITM_NM:itemNm2});

this works well! 这很好!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM