【问题标题】:dart map<PostModel, double> sorting [duplicate]dart map<PostModel, double> 排序 [重复]
【发布时间】:2021-03-26 14:40:33
【问题描述】:

我有以下代表职位和距离的地图:Map&lt;PostModel, double&gt; products = {} 我想按升序对地图的值进行排序,但是:

products.values.toList().sort();

不起作用,地图保持不变。 PostModel 不可比较,也不可迭代,多个 Post 可以有相同的距离。 所以最后,地图看起来像:

{(post1, 100),(post2, 100),(post3, 30),(post4,450),(post5,450)....}

【问题讨论】:

  • 你也可以考虑这个包:pub.dev/packages/sortedmap
  • Sortedmap 在这里不起作用,因为 PostModel 不可比较......它无法实例化

标签: flutter dart


【解决方案1】:

你可以试试这样的:

  final sortedValues =
      products.entries.toList()
        ..sort((key1, key2) =>
          key1.value.compareTo(key2.value)
        );
  products = Map.fromEntries(sortedValues);
  print(products);

【讨论】:

  • 像个魅力,tks,在这里学到了一些非常有趣的方法
  • 很高兴它对你有用。如果您愿意,也请给答案一个赞(赞成)。
猜你喜欢
  • 2021-06-03
  • 2014-02-05
  • 2014-03-17
  • 2021-04-21
  • 2014-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
相关资源
最近更新 更多