search

Home  >  Q&A  >  body text

javascript - Json怎么做数据分析统计,看起来简单

var json = [   
    {
        data: [
            { role: "管理员",state: 1 }, //1为enable
            { role: "维护组",state: 1 },
            { role: "管理员",state: 1 }
        ],

    }
];
变成=》
var json = [   
    {
        data: [
            { "管理员":2,"维护组":1,"enable":3,"disable":0}
        ]
    }
];

应该是这样的

  var json = [   
        {
            data: [
                { "group":"管理员","enable":2,"disable":0},
                { "group":"维护组","enable":1,"disable":0}
            ]
        }
    ];
阿神阿神2897 days ago468

reply all(2)I'll reply

  • 黄舟

    黄舟2017-04-10 14:29:34

    如果没有其它要求的话,请参考如下。

    http://jsfiddle.net/starandtina/LhSCq/1/

    由于楼主的需求有变更,修改如下;

    http://jsfiddle.net/starandtina/LhSCq/7/

    reply
    0
  • 迷茫

    迷茫2017-04-10 14:29:34

    var json = [   
        {
            data: [
                { role: "管理员",state: 1 }, //1为enable
                { role: "维护组",state: 1 },
                { role: "管理员",state: 1 }
            ],
    
        }
    ];
    json = json.map(function(d) {
        var r = {};
        d.data.forEach(function(i) {
            var o = r[i.role] || {};
            o.e = o.e || 0;
            o.d = o.d || 0;
            i.state?o.e++:o.d++;
            r[i.role] = o;
        });
        return {data: Object.keys(r).map(function(v) {
            return {group:v,enable:r[v]['e'],disable:r[v]['d']};
        })};
    })
    

    reply
    0
  • Cancelreply