【发布时间】:2019-06-05 16:42:39
【问题描述】:
我有[Int:[String:String]] 类型的字典
例子:
[1546696330:[“符号”:“ETH”,“数量”:“1.0”],1546531017:[“符号”:“ETH”,“数量”:“1.0”],1546531031:[“符号” :“XRP”,“金额”:“200.0”]]
如您所见,我有 2 个重复的字典,键为 symbol,值为 ETH。我需要删除所有值并保留最小 (Int) 值的代码。
预期结果:
[1546531017: ["symbol": "ETH", "amount": "1.0"], 1546531031: ["symbol": "XRP", "amount": "200.0"]]
1546531017 < 1546696330在哪里
【问题讨论】:
-
你有嵌套的字典,看起来你想折叠内部字典中的重复条目,但不清楚应该如何驱动折叠。您是如何决定在结果中保留外部键
1546531017而不是另一个1546696330键? -
如何判断是否有重复?只是
symbol匹配,还是symbol和amount必须匹配才能被视为重复? -
@DuncanC 我需要最小密钥并删除所有其他包含重复符号的密钥。
-
@vacawama
amount没关系。我需要删除所有重复的符号并留下最小的一个。 -
我会构建一个字典,其中键是符号,值是“Int”。如果存在,则在需要时替换(如果它比当前的最小)。然后,只保留值,并过滤 dict(删除未使用的,或从保留的键中构造一个新的)。没有高级 Swift 函数,解释我的逻辑:pastebin.com/gprc23X0
标签: swift sorting dictionary duplicates