ios - 如何检查 child 是否在字典中出现多次

标签 ios swift dictionary

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

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

我想检查“目的地”是否出现多次,然后将这些条目保存到单独的字典中。我可以完成检查的第一部分,但我不知道如何将 [route: [date,destination,description]] 的每个重复元素保存到单独的字典中。我能做到的唯一方法是在有多个时添加它们,但随后我会错过第一个。 有人可以告诉我该怎么做吗?

最佳答案

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

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

对于每对:

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

如果您确实已经有这样的 key ,那么您就找到了重复的 key ;此时,您应该将包含原始字典中当前键的 添加到 reverseMap[key] 处的数组

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

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

相关文章:

ios - 裁剪 UIImage 时的性能问题(CoreGraphics、iOS)

ios - 从 appdelegate 展示一个 View Controller

Swift kitura 多语言支持

python - 相等的字符串不会返回 true

java - Java 中常用的数据结构有哪些?

ios - Firebase 的新手和 swift。无法将 Firebase 连接到 Xcode

IOS 11 更新更改了我的节点的颜色

ios - 使用 Alamofire 从 Firebase 检索 JSON

Python-查找值大于零的最高字典键

ios - 如何仅设置 UIView 的左上角和右上角的cornerRadius?