我正在查询一些数据并将其保存到Swift中的字典中,如下所示:
[[route1: [date, destination, description],
[route2: [date, destination, description]]]
我想检查'destination'是否多次出现,然后将这些条目保存到单独的字典中。我可以做第一部分检查,但我无法弄清楚如何将[route:[date,destination,description]]的每个reccuring元素保存到单独的字典中。我能做到的唯一方法就是在有多个时添加它们,但是我会错过第一个。 谁能告诉我怎么做?
答案 0 :(得分:0)
创建一个新词典(让我们称之为reverseMap
)。
循环原始字典中的每个键值对。
每对:
在reverseMap
中,查看您是否还有键,其中包含原始字典的值(如果需要标准化,可以折叠类似值想要考虑必要的,例如,不同顺序的数组,或者你只关心destination
是否相同)。如果还没有,请创建它,将值设置为包含一个元素的数组:原始字典中的当前键。
如果你做已经拥有这样一个密钥,你就发现了一个副本;此时,您应该添加到reverseMap[key]
的数组,其中包含原始字典中的当前密钥。
这应该提供您需要的所有信息。完成后,reverseMap
将为原始字典中的每个value
包含原始字典中映射到该值的每个键的完整列表。