扩展swift中键:字符串值:数组的字典

扩展swift中键:字符串值:数组的字典,swift,dictionary,protocols,extension-methods,Swift,Dictionary,Protocols,Extension Methods,如何扩展[String:[Double]]类型的Swift字典 扩展字典时,值要符合的协议/类类型是什么 [p.S:在此扩展中,我希望返回其值数组包含发送到函数的特定元素(Double)的所有键。]您可以使用筛选器执行以下操作: let dictData = ["a":[1.0,2.0,3.0], "b":[1.0,112.0,3.0], "c":[7.0,12.0,3.0]] let filterData = dictData.

如何扩展
[String:[Double]]
类型的Swift字典

扩展字典时,值要符合的协议/类类型是什么


[p.S:在此扩展中,我希望返回其值数组包含发送到函数的特定元素(Double)的所有键。]

您可以使用筛选器执行以下操作:

let dictData = ["a":[1.0,2.0,3.0],
                "b":[1.0,112.0,3.0],
                "c":[7.0,12.0,3.0]]

let filterData = dictData.filter({$0.value.contains(1)})
print(filterData.keys) //output: ["a", "b"]
您可以按如下方式对该阵列进行itrate:

 for keys in filterData.keys.makeIterator() {
      print(keys)
 }
filterData.keys.first
或者,您可以像这样直接访问:

 for keys in filterData.keys.makeIterator() {
      print(keys)
 }
filterData.keys.first

字典有两个通用元素
Key
Value
,在创建扩展时需要约束它们

您可以这样做:

public extension Dictionary where Key == String, Value == [Double] { }

那么,您想筛选字典以查找包含特定双精度值的键吗?欢迎访问stackoverflow.com。请花些时间阅读,特别是命名和。也请阅读。最后,请阅读。是的,我知道如何找到钥匙,但主要是我需要知道如何扩展这种类型的字典。是的,这是有效的!!但我也想知道如何扩展这种类型的字典,主要是。是的,处理好了。谢谢你的更新:)谢谢,这很好用@如果你找到了一个解决你问题的答案,试着记住把它标记为被接受的答案!您将获得一个小的声誉提升,以及帮助其他读者与同样的问题得到解决更快!对不起,我忘了。