根据日期排序处理药品数据,方便分析和检索
可以使用以下代码实现:
// 先将日期字符串转换为日期对象并降序排列 const dates = ['2021-11-01', '2021-01-01', '2023-06-05', '2019-03-01', '2023-06-21'] .map(dateStr => new Date(dateStr)) .sort((a, b) => b - a);
// 将药品数据按照日期处理成对象 const medicineData = [ {medicineName: '甲氧西林', '2021-01-01': {有数据}, '2019-03-01': {有数据}, '2023-06-21': {有数据}, solvent: false}, {medicineName: '氯唑西林 ', '2021-01-01': {有数据}, solvent: false}, {medicineName: '氯唑西林', '2021-01-01': {有数据}, '2023-06-05': {有数据}, '2023-06-21': {有数据}, solvent: false}, {medicineName: '青霉素V', '2023-06-21': {有数据}, solvent: false} ];
// 循环处理每个药品数据 const processedData = medicineData.map(medicine => { const processedMedicine = {...medicine}; // 先复制对象,避免修改原数据
// 循环处理每个日期 dates.forEach(date => { const dateStr = formatDate(date); // 先将日期对象转换为字符串 if (!processedMedicine[dateStr]) { // 如果该日期没有数据,则添加一个空对象 processedMedicine[dateStr] = {空}; } });
return processedMedicine; });
// 格式化日期为字符串(YYYY-MM-DD)
function formatDate(date) {
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
return ${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')};
}
// 输出处理后的数据 console.log(processedData);
原文地址: https://www.cveoy.top/t/topic/oUWE 著作权归作者所有。请勿转载和采集!