首页 > 解决方案 > 从两个字典中删除不重复的键

问题描述

我在 Swift 中有两个字典,它们在动态模式下几乎没有相似的值:

dict1 = ["a1":"value 1", "b1":"value2", "c1":"value 3"]
dict2 = ["b1": "value2", "d1": "value4"]

如果我想比较这两个字典并且只想提取甚至嵌套的匹配键,我该怎么做呢?

标签: swiftdictionary

解决方案


如果您想要其中一个具有值的公用键:

let intersectionDict = dict1.filter { dict2.keys.contains($0.key) }
//Or
let intersectionDict2 = dict2.filter { dict1.keys.contains($0.key) }

如果您希望值也匹配:

let intersectionDict3 = dict1.filter { dict2[$0.key] == $0.value }

结果是:

print(intersectionDict3)  //["b1": "value2"]

推荐阅读