我有一个[String: [SomeObject]?]
类型的字典,我想将它映射到相同类型的另一个字典,但在某些情况下从内部数组中删除元素。
如何解决这个问题?如果可以像map
,filter
,reduce
等那样使用swift功能而无需手动迭代和重新创建新词典?
假设我们有以下[String:[Int]]:
var dict = ["k1":[-1, -2, 1, 2]]
我们想重新删除字典,删除数组中的所有负面元素:
dict = dict.mapValues { v in v.filter { $0 > 0} }
print(dict) // ["k1":[1,2]]