飞镖地图<后模,双>排序



我有下面的映射,它表示桩和距离:Map<PostModel, double> products = {}我想按其值升序对地图进行排序,但是:

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

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

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

您可以尝试以下操作:

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

最新更新