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 } }


以上是Swift:是否有一种“优雅”的方式来过滤字典值(它是一个数组)?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>