gpt4 book ai didi

swift - 检查一个字典是否是另一个字典的子字典

转载 作者:行者123 更新时间:2023-11-30 10:40:25 29 4
gpt4 key购买 nike

我正在尝试比较两个字典,如果左字典右字典的子(内部),该函数将返回true,否则返回。字典的类型为 [String: Any]

我一直在寻找解决方案,但我刚刚找到了一个相同的函数,如下所示:

NSDictionary(dictionary: lhs).isEqual(to: rhs)

感谢您的建议

最佳答案

我找到了一种方法,但它是一维的。这意味着它在给定的字典值中搜索字典。我认为你可以递归。

extension NSDictionary {
func contains(dict: NSDictionary) -> Bool {

return self.contains { (selfKeyValue) -> Bool in
if let foundDict = (selfKeyValue.value as? NSDictionary), let anyDict = dict as? [AnyHashable : Any] {
return foundDict.isEqual(to: anyDict)
}

return false
}
}
}



let dict1 = ["bb":123]
let dict2 = ["a": ["aa": 123],"b": ["bb":123]]



print((dict2 as NSDictionary).contains(dict: dict1 as NSDictionary))

输出:true

关于swift - 检查一个字典是否是另一个字典的子字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56937612/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com