只需创建一个新的字典,其关键字等于医院名称即可。然后从字典中检索所有元素。
如果您需要将计数作为字符串转换,就在将它们添加回数据列表之前对其进行转换。
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);


