Swift 过滤器和字典

标签 swift dictionary filter closures

我正在尝试使用闭包过滤器来过滤字典中 18 岁以下的人。我知道如何使用数组进行过滤,但我不确定如何过滤字典。

var namesAndAges = ["Tom": 25, "Michael": 35, "Harry": 28, "Fabien": 16]
var underAge = namesAndAges.filter { &0.namesAndAges.value < 18 }

这给了我错误“闭包参数列表的上下文类型需要 2 个参数,不能隐式忽略”

最佳答案

就这样做:

var namesAndAges = ["Tom": 25, "Michael": 35, "Harry": 28, "Fabien": 16]
var underAge = namesAndAges.filter({ $0.value < 18 }) // [(key: "Fabien", value: 16)]

您所做的就是在过滤器中使用$0.value

关于Swift 过滤器和字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44703425/

相关文章:

java - 如何使用 Google Dictionary 作为 API?

java - 将值添加到 java 中的映射数组中的单个变量

python - Pyspark 读取 csv 并组合日期和时间列并基于它进行过滤

c# - 字典方法 Remove 和 Clear (.NET Core) 在枚举期间修改集合。没有抛出异常

ios - swift 4 中的旋转轮盘赌

ios - 无法在 Swift spritekit 应用程序中显示 LaunchScreen 图像

swift - ViewController 类没有初始化器

android - 如何从android中mapv2中的polylineoptions获取Ltlngs的总长度?

Python Flask SQLalchemy 查询过滤器按 bool 值忽略 False

swift - 使用自定义对象实现计数排序