将带有值数组的字典映射到另一个带有 swift 中的值数组的字典?

Map dictionary with values-arrays to another dictionary with values-arrays in swift?

我有一个 [String: [SomeObject]?] 类型的字典,我想将它映射到另一个相同类型的字典,但在某些情况下会从内部数组中删除元素。

如何解决这个问题?是否可以仅使用 mapfilterreduce 等 swift 功能,而无需手动迭代和重新创建新字典?

假设我们有以下 [String: [Int]]:

var dict = ["k1":[-1, -2, 1, 2]]

我们想重新映射字典,删除数组中的所有负元素:

dict = dict.mapValues { v in v.filter { [=11=] > 0} }
print(dict) // ["k1":[1,2]]