我有一个事件列表,其中有一个DateTime属性,我想使这个列表的子列表基于年。是否有一种方法可以将我的主事件列表分成子列表,以便在每个子列表中,每个事件都有相同的年份?所以我最终会得到一个包含所有2020年事件的子列表,一个包含所有2021年事件的子列表,等等。
List<DayTasks>
,其中DayTasks定义为:
class DayTasks{
List<Task> _tasks = [];
final DateTime _date;
}
List<Task>
在这里不受关注,我想对List<DayTasks>
执行此操作。
您可以使用groupBy来获取基于日期的子列表。假设您有一个DayTasks列表
final dayTaskList = <DayTasks>[];
您可以使用以下命令获取基于同一年的DayTasks分组列表:
final groupedList = groupBy(dayTaskList, (DayTasks dayTasks) => DateTime(dayTasks._date.year)).entries.toList();
这个分组列表可用于遍历创建的子列表。