zoukankan      html  css  js  c++  java
  • JavaScript怎么把对象里的数据整合进另外一个数组里

    https://blog.csdn.net/qq_26222859/article/details/70331833

    var json1 = [
    {"guoshui":[
    300000, 500000, 600000, 800000, 1000000, 1200000, 1400000, 1600000, 1800000, 1600000, 1400000, 1200000
    ]},
    {"dishui":[
    1100000, 1200100, 1300000, 1100000, 1050000, 1400000, 1200000, 1600000, 1800000, 1200000, 1400000, 1100000
    ]},
    {"heji":[
    400000, 1300000, 1200000, 1100000, 1500000, 1400000, 1200000, 1600000, 1700000, 1100000, 1400000, 1400000
    ]}
    ]
    

      

    有如下对象:
    
    现在希望把他整合进数组里,形成如下数组:
    
    [{
            name: '国税',
            type: 'bar',
            data: [300000, 500000, 600000, 800000, 1000000, 1200000,1400000,1600000,1800000,1600000,1400000,1200000],
    markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
     markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }
        },
    {
            name: '地税',
            type: 'bar',
            data: [1100000, 1200100, 1300000, 1100000, 1050000, 1400000,1200000,1600000,1800000,1200000,1400000,1100000],
    markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
     markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }
        },
    {
            name: '合计',
            type: 'bar',
            data: [400000, 1300000, 1200000, 1100000, 1500000, 1400000,1200000,1600000,1700000,1100000,1400000,1400000],
    markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
     markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }
        },
    ]
    
    
    
    
    
    在JavaScript中,数组其实一个对象,或者说是一种拥有类数组特性的对象。
    
    它把数组的下标转变为字符串,用其作为属性。如果用typeof判断一个数组,得出的
    
    结果是object。数组的第一个值自动获得属性名‘0’,第二个值自动获得属性名‘1’,以此类推。
    
    
    
    关于JavaScript的数组和对象,我先说说他们的区别:
    
    对象是自动扩容的,通过".属性名"可以动态添加对象的属性。
    
    因为数组是对象,所以也是自动扩容的,通过".属性名"或者[属性名]或者push()可以动态添加对象的属性。
    
    
    对象遍历的方式是for ..in..随机访问,用属性名作为遍历的key
    
    数组遍历的方式是用for循环顺序访问,可以直接用i++作为遍历的key。不建议用for ..in..随机访问
    
    
    
    回到之前个问题
    
    JavaScript把对象里的数据整合进另外一个数组里要涉及到数组的扩容,以及对象和数组的遍历。
    
    
    
    所以写法如下:
    
     var array1=[{ 
            name: '国税',
            type: 'bar', 
    markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
    markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }},
    {name: '地税',
            type: 'bar',
    markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
    markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }},
    {
    name: '合计',
            type: 'bar',
    markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
    markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }
    }];
    
    
    //array1[0].data=json1['guoshui'];
    //array1[1].data=json1['dishui'];
    //array1[2].data=json1['heji'];
    
    var i=0;
    for(item in json1){
     array1[i++].data=json1[item];
    }
    
        //console.log(json1[item]);
        //array[item]=json1[item];
    console.log(array1);
    

      

  • 相关阅读:
    suse12安装详解
    Centos7上部署openstack mitaka配置详解(将疑难点都进行划分)
    菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]
    openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
    Multiple network matches found for name 'selfservice', use an ID to be more specific.报错
    查看 SELinux状态及关闭SELinux
    SELinux深入理解
    IP地址、子网掩码、网络号、主机号、网络地址、主机地址
    Oracle job procedure 存储过程定时任务
    POI文件导出至EXCEL,并弹出下载框
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/8921055.html
Copyright © 2011-2022 走看看