const medicationData = { '2021-11-01': [{ medicationDate: '2021-11-01 09:01:01',medicationInfo: '氯唑西林',medicineType: '抗生素1', medicineName: '氯唑西林',dosage: 1 }], '2021-01-01': [ {medicationDate: '2021-01-01 06:01:01',medicationInfo: '甲氧西林',medicineType: '抗生素1',medicineName: '甲氧西林',dosage: 2}, {medicationDate: '2021-01-01 10:01:01',medicationInfo: '氯唑西林\r\n',medicineType: '抗生素1',medicineName: '氯唑西林\r\n',dosage: 3}, {medicationDate: '2021-01-01 20:01:01',medicationInfo: '氯唑西林\r\n', medicineType: '抗生素1',medicineName: '氯唑西林\r\n',dosage: 2}, {medicationDate: '2021-01-01 14:01:01',medicationInfo: '氯唑西林',medicineType: '抗生素1',medicineName: '氯唑西林',dosage: 6} ], '2023-06-21': [ {medicationDate: '2023-06-21 20:00:00',medicationInfo: '青霉素V',medicineType: '抗生素1',medicineName: '青霉素V',dosage: 1}, {medicationDate: '2023-06-21 08:00:00',medicationInfo: '青霉素V',medicineType: '抗生素1',medicineName: '青霉素V',dosage: 3}, {medicationDate: '2023-06-21 17:00:00',medicationInfo: '青霉素V',medicineType: '抗生素1',medicineName: '青霉素V',dosage: 2}, {medicationDate: '2023-06-21 20:00:00',medicationInfo: '甲氧西林', medicineType: '抗生素1',medicineName: '甲氧西林',dosage: 4}, {medicationDate: '2023-06-21 09:00:00',medicationInfo: '甲氧西林',medicineType: '抗生素1',medicineName: '甲氧西林',dosage: 3}, {medicationDate: '2023-06-21 10:00:00',medicationInfo: '氯唑西林',medicineType: '抗生素1',medicineName: '氯唑西林',dosage: 2}, {medicationDate: '2023-06-21 20:00:00',medicationInfo: '氯唑西林',medicineType: '抗生素1',medicineName: '氯唑西林',dosage: 1} ] };

const processedData = [];

for (const medicationDate in medicationData) { medicationData[medicationDate].forEach(medication => { const index = processedData.findIndex(data => data.medicineName === medication.medicineName); const time = new Date(medication.medicationDate).getHours(); const dosageObj = {[time < 12 ? 'morning' : time < 18 ? 'nooning' : 'evening']: medication.dosage}; if (index === -1) { processedData.push({ medicineName: medication.medicineName, [medicationDate]: {medicationInfo: medication.medicationInfo, medicineType: medication.medicineType, ...dosageObj} }); } else { processedData[index][medicationDate] = {medicationInfo: medication.medicationInfo, medicineType: medication.medicineType, ...dosageObj}; } }); }

console.log(processedData)


原文地址: https://www.cveoy.top/t/topic/hrpS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录