您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

转换JSON数组的数据结构以堆积条形图

转换JSON数组的数据结构以堆积条形图

只需创建一个新的字典,其关键字等于医院名称即可。然后从字典中检索所有元素。

如果您需要将计数作为字符串转换,就在将它们添加回数据列表之前对其进行转换。

var newdata = {};

data.forEach(element => {
    var name = element.hospitalName;
    var hospital = newdata[name];
    if (!hospital) {
        hospital = { hospitalName: name, Females: 0, Males: 0, UnkNown: 0, count: 0};
        newdata[name] = hospital;
    }
    hospital[element.category] = +element.count;
    hospital.Females += +element.Females;
    hospital.Males   += +element.Males;
    hospital.UnkNown += +element.UnkNown;
    hospital.count   += +element.count;
});

data = [];

for (const key in newdata) {
    if (newdata.hasOwnProperty(key)) {
        data.push(newdata[key]);
    }
}

作为一个 数据集的小型运行示例。

var data = [{

  "hospitalName": "hospital1",

  "category": "Injury & Poisoning",

  "Females": "0",

  "Males": "4",

  "UnkNown": "0",

  "count": "4"

},

{

  "hospitalName": "hospital1",

  "category": "Symptoms, Signs, & Ill-Defined Conditions",

  "Females": "1",

  "Males": "1",

  "UnkNown": "0",

  "count": "2"

},

{

   "hospitalName": "hospital2",

   "category": "Mental Disorders",

    "Females": "0",

    "Males": "1",

    "UnkNown": "0",

    "count": "1"

}];



var newdata = {};



data.forEach(element => {

    var name = element.hospitalName;

    var hospital = newdata[name];

    if (!hospital) {

        hospital = { hospitalName: name, Females: 0, Males: 0, UnkNown: 0, count: 0};

        newdata[name] = hospital;

    }

    hospital[element.category] = +element.count;

    hospital.Females += +element.Females;

    hospital.Males   += +element.Males;

    hospital.UnkNown += +element.UnkNown;

    hospital.count   += +element.count;

});



data = [];



for (const key in newdata) {

    if (newdata.hasOwnProperty(key)) {

        data.push(newdata[key]);

    }

}



console.log(data);
其他 2022/1/1 18:53:21 有397人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶