如何检查子项是否在字典中多次出现

时间:2016-03-31 18:55:00

标签: ios swift dictionary

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

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

我想检查'destination'是否多次出现,然后将这些条目保存到单独的字典中。我可以做第一部分检查,但我无法弄清楚如何将[route:[date,destination,description]]的每个reccuring元素保存到单独的字典中。我能做到的唯一方法就是在有多个时添加它们,但是我会错过第一个。 谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:0)

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

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

每对:

reverseMap中,查看您是否还有,其中包含原始字典的(如果需要标准化,可以折叠类似值想要考虑必要的,例如,不同顺序的数组,或者你只关心destination是否相同)。如果还没有,请创建它,将值设置为包含一个元素的数组:原始字典中的当前

如果你已经拥有这样一个密钥,你就发现了一个副本;此时,您应该添加到reverseMap[key]的数组,其中包含原始字典中的当前密钥。

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