繁体   English   中英

Swift 4 通过外键将数组映射到字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM