简体   繁体   English

如何按日期对列表进行排序 - 颤振/飞镖

[英]how to sort list by date - flutter/dart

I'm using storage access framework to get media files from specific directory.我正在使用存储访问框架从特定目录获取媒体文件。 I'm making the use of saf.cache() method which returns the list of string (basically media path)我正在使用 saf.cache() 方法返回字符串列表(基本上是媒体路径)

but I need to sort this list of string by creation time/date.但我需要按创建时间/日期对这个字符串列表进行排序。 How can I do that?我怎样才能做到这一点?

https://pub.dev/packages/saf https://pub.dev/packages/saf

  Future<List<String>> fetchImages() async {

      Saf saf = Saf('specific_directory');
      List<String>? cacheList = await saf.cache();
      List<String> imageList = cacheList!.where((element) => element.endsWith('.jpg')).toList(); // it returns In random order
      return imageList;
  }

Use.sort property to do this.使用.sort 属性来做到这一点。

try:尝试:

myList.sort((sl1, sl2) {
      String list1 = sl1['column1'] ?? '0';
      String list2 = sl2['column2'] ?? '0';
      return sl1.compareTo(sl2);
    });

you can use a higher order method called sort您可以使用称为排序的高阶方法

and user compareTo to compare between dates ex:和用户 compareTo 在日期之间进行比较,例如:

   var items = [
    'Default',
    'Difficulty',
    'Time',
    'Di',
  ];
items.sort((a,b)=>a.length.compareTo(b.length));
print(items);
//[Di, Time, Default, Difficulty]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM