我正在查询一些数据并将其保存到Swift中的字典中,如下所示:

[[route1: [date, destination, description],
[route2: [date, destination, description]]]


我想检查“目的地”是否发生了多次,然后将这些条目保存到单独的词典中。我可以进行检查的第一部分,但无法弄清楚如何将[route:[date,destination,description]]的每个递归元素保存到单独的词典中。我可以做到的唯一方法是,当存在多个对象时,将它们添加进去,但是我错过了第一个。
有人可以告诉我该怎么做吗?

最佳答案

创建一个新词典(我们称它为reverseMap)。

循环访问原始字典中的每个键值对。

对于每对:

在您的reverseMap中,查看您是否有一个包含原始字典值的键(如果有必要折叠以折叠您想认为必要的相似值,例如,按不同顺序排列的数组,或者是否只关心destination是相同)。如果还没有,请创建它,然后将值设置为一个元素,该元素为原始字典中的当前键。

如果您已经有了这样的密钥,那么您将找到一个重复的密钥。此时,您应该添加到reverseMap[key]的数组中,其中包含原始词典中的当前键。

这应该提供您需要的所有信息。完成后,对于原始词典中的每个reverseMapvalue将包含原始词典中映射到该值的每个键的完整列表。

关于ios - 如何检查 child 是否在字典中多次出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36341427/

10-16 22:19