当前位置: 首页 > 知识库问答 >
问题:

如何在Flutter | Flutter中基于日期时间对项目列表进行排序

宣瀚
2023-03-14

我有产品列表,其中包含产品名称和日期。我想根据日期和时间对项目列表进行排序。这是我要排序的项目列表,

List items = [
    {
      "productName":"Icecream",
      "date":"2019-10-17 10:06:12.278"
    },
    {
      "productName":"Juice",
      "date":"2021-09-20 19:08:16.274"
    },
    {
      "productName":"Rice",
      "date":"2020-05-13 08:02:16.177"
    },
    {
      "productName":"Cheese",
      "date":"2021-10-23 20:02:16.254"
    },
    {
      "productName":"Sugar",
      "date":"2019-11-22 00:00:00.000"
    },
  ];

这是我想要的预期输出,

List sortedList = [
    {
      "productName":"Icecream",
      "date":"2019-10-17 10:06:12.278"
    },
    {
      "productName":"Sugar",
      "date":"2019-11-22 00:00:00.000"
    },
    {
      "productName":"Rice",
      "date":"2020-05-13 08:02:16.177"
    },
    {
      "productName":"Juice",
      "date":"2021-09-20 19:08:16.274"
    },
    {
      "productName":"Cheese",
      "date":"2021-10-23 20:02:16.254"
    },
  ];

共有2个答案

翟善
2023-03-14

您可以使用列表中的compare to方法来比较结果。根据这些结果,您可以使用对列表进行排序。列表上的排序方法

宇文念
2023-03-14

这是一个使用内置函数<code>的简单代码。比较可以帮助您:

void main() async {
  List items = [
    {"productName": "Icecream", "date": "2019-10-17 10:06:12.278"},
    {"productName": "Juice", "date": "2021-09-20 19:08:16.274"},
    {"productName": "Rice", "date": "2020-05-13 08:02:16.177"},
    {"productName": "Cheese", "date": "2021-10-23 20:02:16.254"},
    {"productName": "Sugar", "date": "2019-11-22 00:00:00.000"},
  ];

  // You can change the position of `a` and `b` to get a reversed result
  // as well
  items.sort((a, b) => a['date'].compareTo(b['date']));

  print(items);
}
 类似资料:
  • 我正在为我叔叔做一个应用程序,他让我做来挑战我。我认为这是学习颤振/飞镖的绝佳机会。我有这段代码(下面),但我需要它按日期时间组织一个列表(第77行)。每个条目至少有一个字符串id、一个DateTime变量、一个字符串名称和一些正文文本。

  • 这里我有一份获奖者名单,上面有日期和时间。我想根据日期和时间对数组进行降序排序。在这里,我以适当的格式安排了日期,如(2020-07-22 18:30:00.000)之后,我不知道如何安排。

  • 问题内容: 如何对日期和/或日期时间对象列表进行排序?接受的答案在这里是不是为我工作: 问题答案: 你得到,因为它运行 在原地 ,这意味着它不返回任何东西,但修改列表本身。您只需要呼叫而无需再次分配。 有一个内置函数,该函数返回列表的排序版本-也会执行您想要的操作。

  • 我正在获取一个订单列表,并将对象存储在列表中。该对象有一个名为的属性,时间为格式。我想按对象的deliveryTime升序对列表进行排序。我创建了一个只有deliveryTime的字符串列表,并使用气泡排序按升序对它们进行排序。但是我很难按照这个顺序对整个对象列表进行排序。 注意:对象列表有一些&作为它们的值。 以下是不完整的代码:

  • 问题内容: 获取目录中所有文件的列表的最佳方法是什么,按日期排序[创建| 修改],在Windows机器上使用python? 问题答案: 这@Greg Hewgill是答案的更详细的版本。这是最符合问题要求的。它区分了创建日期和修改日期(至少在Windows上如此)。 例:

  • 我试图为一个使用蓝牙进行通信的应用程序启动一个flutter项目。为此,我使用了flutter blue。 不幸的是,当尝试(在Android设备上)运行我创建的第一个示例时,遇到了以下错误: 如果我在Android Studio上,我会知道如何升级Android minSdkVersion,但在一个扑朔迷离的项目(使用VSCode)上,我有点迷失了。 是否有可能用颤振来增加最小Sdk版本,以及如