嗨,我正在学习快速知识,我对用于过滤集合的闭包进行了练习
我有两个简单的闭包,用于过滤和映射字典
let myDict: [String: Int] = ["Dan":38, "Kira":2, "Olga":33, "Jess":10, "Bobo":4]
let filteredMyDict = myDict.filter {
return $0.value < 5
}
print(filteredMyDict)
let filteredNames = filteredMyDict.map {
return $0.key
}
print(filteredNames)
是否可以链接filter和map语句,如果可以的话。
那个
答案 0 :(得分:6)
您可以链接UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
和filter
map
或使用{{3}}一次遍历 字典:
返回一个数组,其中包含对该序列的每个元素调用给定转换的非零结果。
在您的情况下:
let filteredNames = myDict.filter { $0.value < 5 }
.map { $0.key }