firebase - flutter list.sort 没有给出结果
问题描述
我有一个从 firestore 获得的名为“allResults”的列表,这个列表看起来像这样:
resultList= [{createdAt: Timestamp(seconds=1630015336, nanoseconds=0), UserID: crGDzZU7nrNoz0EIHoT4AcMrRre2}, {createdAt: Timestamp(seconds=1630101736, nanoseconds=0), UserID: crGDzZU7nrNoz0EIHoT4AcMrRre2]
我正在尝试createdAt
使用以下代码按时间戳对该列表进行排序:
resultList.sort((a, b) => a["createdAt"].seconds.compareTo(b["createdAt"].seconds))
问题是,在我调用这种排序之后,程序只是没有吐出任何东西,有点像它的排序永远并且无法退出。我没有收到错误消息,但也没有结果,并且我在排序之后运行的任何命令都不会被执行。
有人在我的排序代码中看到错误吗?
太感谢了!
解决方案
请注意,在您的帖子中,您给出了 的内容示例allResults
,但您正在尝试对另一个名为 的列表进行排序resultList
。但是,如果它们是相同的类型,请尝试以下操作:
resultList.sort((a, b) => (a["createdAt"] as Timestamp).seconds.compareTo((b["createdAt"] as Timestamp).seconds))
或这个:
resultList.sort((a, b) => (a["createdAt"].toString() ).compareTo(b["createdAt"].toString()))
当您定义allResults
列表时,将其声明为:
List<Map<String, dynamic>> allResults
推荐阅读
- ios - 如何在 swift 的扩展中声明 NSLayoutConstraint 类型的变量
- python - 通过在 Python 中应用加权平均来聚合 bin 中的字典列表
- mysql - 嵌套案例语句逻辑
- php - Apache2 和 CakePHP 项目服务器部署
- nginx - Kubernetes 注释被忽略
- python - 如何为特殊用户显示按钮 django
- django - Django工具栏:不显示过滤器大于的查询结果
- powershell - SCCM - 通过其任务序列检测计算机何时完全完成安装的 Surefire 方法
- r - Applying function to each group and column of R dataframe
- javascript - 使用 Javascript getBoundingClientRect 将项目捕捉到网格