js 遍历找到相同日期的放到同一个数组里

2023-04-16  本文已影响0人  好好学习__天天向上
返回的格式 返回的结构.png 要处理显示的结构 显示的结构.png

方式一
let newArr = [];
srcTrackVoList.forEach((item, i) => {
let index = -1;
let isExists = newArr.some((newItem, j) => {
if (item.date == newItem.date) {
index = j;
return true;
}
});
if (!isExists) {
newArr.push({
date: item.date,
subList: [item]
});
} else {
newArr[index].subList.push(item);
}
});
console.log(newArr);

方式二 // 格式化返回数据列表
formatTrackList(srcTrackVoList) {
let list = [];
srcTrackVoList.forEach(ele => {
ele.checked = false;
ele.date = dayjs(parseInt(ele.date)).format("YYYY.MM.DD");
ele.startDateTime = dayjs(parseInt(ele.startDateTime)).format("HH:mm");
ele.endDateTime = dayjs(parseInt(ele.endDateTime)).format("HH:mm");
ele.mile = ele.mile.toFixed(2);
ele.totalDate = ele.totalDate.replace("分", "min").replace("小时", "h");
const item = list.find(day => day.date === ele.date);
if (item) {
item.tracks.push(ele);
} else {
const day = {
date: ele.date,
tracks: [ele]
};
list.push(day);
}
});
return list;
},

上一篇 下一篇

猜你喜欢

热点阅读