gpt4 book ai didi

dart - 按键值对对象映射进行排序

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

我有一个 JSON 对象,我需要按“SortOrder”键的值对其进行排序,但我不确定如何在 Dart 中执行此操作。

JSON:

"BTS": {
"Id": "2039",,
"SortOrder": "10001",
},
"ETS": {
"Id": "1039",,
"SortOrder": "50",
},
"RTS": {
"Id": "39",,
"SortOrder": "1",
},
"TTS": {
"Id": "139",,
"SortOrder": "1001",
},

按“SortOrder”键值对这些对象进行排序的正确方法是什么?

最佳答案

乔纳威廉姆斯方法的简短版本:

var newMap = Map.fromEntries(originalMap.entries.toList()..sort((e1, e2) =>
int.parse(e1.value["SortOrder"]).compareTo(int.parse(e2.value["SortOrder"]))));
如果效率很重要,最好将“SortOrder”字符串解析为整数一次,或者使用对嵌入数字进行数值比较的字符串比较,例如 compareNatural来自包:集合。有了这个,代码将是:
var newMap = Map.fromEntries(originalMap.entries.toList()..sort((e1, e2) =>
compareNatural(e1.value["SortOrder"], e2.value["SortOrder"])));

关于dart - 按键值对对象映射进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51235548/

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