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