我有这个 Group 对象
class Group {
final String dateFormatted;
final List<Event> events;
Group({required this.dateFormatted, required this.events});
}
我需要折叠该组,以便所有具有共同 dateFormatted 的组都将合并到同一组中,并使用该数据创建一个新的组对象。
我在当前结构的屏幕上遇到以下问题
这里如何对常见的日期事件进行分组
List<Group> mergeGroups(List<Group> groups) {
// Create a map to group events by dateFormatted
final Map<String, List<Event>> groupedEvents = {};
for (var group in groups) {
if (!groupedEvents.containsKey(group.dateFormatted)) {
groupedEvents[group.dateFormatted] = [];
}
groupedEvents[group.dateFormatted]!.addAll(group.events);
}
// Convert the map back to a list of Group objects
return groupedEvents.entries
.map((entry) => Group(dateFormatted: entry.key, events: entry.value))
.toList();
}