gpt4 book ai didi

sorting - 如何通过嵌套值对 map 重新排序

转载 作者:行者123 更新时间:2023-12-03 04:35:13 25 4
gpt4 key购买 nike

在Dart中按嵌套值对 map 进行排序的最佳方法是什么?

Map myMap = {
'A':{'foo':'#', 'pos':2},
'B':{'baa':'#', 'pos':0},
'C':{'yay':'#', 'pos':1},
}
Map mySortedMap = myMap.sort() ???
print(mySortedMap)

Output:
{
'B':{'baa':'#', 'pos':0},
'C':{'yay':'#', 'pos':1},
'A':{'foo':'#', 'pos':2},
}

最佳答案

有一种非常简单的方法:对键进行排序并根据这些键创建新的 map :

Map sortMapByPos(Map map) {
final sortedKeys = map.keys.toList(growable: false)
..sort((k1, k2) => ((map[k1]['pos'] - map[k2]['pos'])));

return Map.fromIterable(sortedKeys, key: (k) => k, value: (k) => map[k]);
}
用法如下:
print(sortMapByPos(myMap));

关于sorting - 如何通过嵌套值对 map 重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64245815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com