[英]Swift 4 map an array to a dictionary by foreign key
我有一个对象数组(外键是 classId):
let studentArray = [Student(id:3, name:"John", classId:1), Student(id:4, name:"Jane", classId:1), Student(id:5, name:"Bill", classId:2)]
我正在尝试将其映射到具有 classId 键的字典,如下所示:
[1:[Student], 2:[Student]]
有没有使用字典来做到这一点的好方法? 我的解决方案是使用 for 循环遍历数组并将每个对象添加到字典中,但这似乎效率低下。
Swift 4 允许您实例化按键分组的字典。 这是有关它的更多详细信息。 下面是一个例子:
let studentArray = [Student(id:3, name:"John", classId:1), Student(id:4, name:"Jane", classId:1), Student(id:5, name:"Bill", classId:2)]
let dictByKeyVersionOne = Dictionary(grouping: studentArray, by: {student in student.classId})
或者,您可以使用$0.classId
创建字典,如下所示:
let dictByKeyVersionTwo = Dictionary(grouping: studentArray, by: {$0.classId})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.