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 15: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 medicationList = [];

// 遍历药物信息对象 for (const date in medicationData) { const medicationArr = medicationData[date];

// 遍历日期下的药物信息数组 for (const medication of medicationArr) { const { medicineName, dosage } = medication;

// 判断药物是否已存在于药物列表中
const medicationIndex = medicationList.findIndex(item => item.medicineName === medicineName);

// 如果药物不存在于药物列表中,则新增药物对象
if (medicationIndex === -1) {
  const newMedication = {
    medicineName,
    [date]: {
      medicationInfo: medication.medicationInfo,
      medicineType: medication.medicineType,
      morning: 0,
      nooning: 0,
      evening: 0
    }
  };
  // 根据药物剂量更新药物对应日期的用药次数
  if (dosage === 1) {
    newMedication[date].morning++;
  } else if (dosage === 2) {
    newMedication[date].nooning++;
  } else if (dosage === 3) {
    newMedication[date].evening++;
  }
  medicationList.push(newMedication);
} else { // 如果药物已存在于药物列表中,则更新对应日期的用药次数
  const medicationObj = medicationList[medicationIndex];
  if (!medicationObj[date]) {
    medicationObj[date] = {
      medicationInfo: medication.medicationInfo,
      medicineType: medication.medicineType,
      morning: 0,
      nooning: 0,
      evening: 0
    };
  }
  if (dosage === 1) {
    medicationObj[date].morning++;
  } else if (dosage === 2) {
    medicationObj[date].nooning++;
  } else if (dosage === 3) {
    medicationObj[date].evening++;
  }
}

} }

console.log(medicationList);

药物服用记录整理

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

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