首页 > 解决方案 > 比较两个数组字典是否相等

问题描述

我有以下类型的字典

[String : [String]]

在我的应用程序中,在运行时我请求更新包含上述类型字典的 var。我还在 CoreData 中存储了相同类型的字典。

我的问题是比较这两个字典是否相等的最佳方法是什么?我在想散列函数最适合这个,但不知道如何处理它

标签: arraysswiftdictionary

解决方案


我相信这个功能是 swift 4 原生的:

https://developer.apple.com/documentation/swift/dictionary/2430767

考虑到编译器将为您检查类型并保证密钥,这样的函数将起作用:

func compare(left:[String:[String]], right: [String:[String]]) -> Bool {
     return left.keys == right.keys && left[left.keys.first!]! == right[right.keys.first!]! 
}

但是,如果您出于某种原因想要遍历它,那么一种好方法是声明式的。


推荐阅读