Swift:是否有一种“优雅”的方式来过滤字典值(它是一个数组)?
这是这个简单的例子:
let i: [String: [Int]] = ["a": [1, 3, 6, 10],
"b": [3, 4, 8, 12]]
我想创建一个新字典,过滤数组以只获取小于 7 的值。我写了这个:
var j: [String: [Int]] {
var result = [String: [Int]]()
i.forEach { key, value in
result[key] = value.filter({ $0 < 7 })
}
return result
}
但是,我想知道是否有更简单,更优雅的方法来做到这一点?
感谢您的帮助!
回答
您可以使用mapValues然后filter用于实际值
let output = i.mapValues { $0.filter { value in value < 7 } }