问题描述
考虑以下日期模型:
struct Order: Hashable {
let mode: Mode
let title: String
}
enum Mode {
case old,new,middle
}
我正在使用基本的 swift 分组方法来创建由对象的 mode 属性拆分的数组数组。
func groupByMode(_ orders: [Order]) -> [[Order]] {
return Array(Dictionary(grouping: orders) { $0.mode }.values)
}
下面的数组:
let orders = [Order(mode: .new,title: "shirt1"),Order(mode: .new,title: "shirt2"),title: "shirt3"),Order(mode: .old,title: "shirt4"),title: "shirt5"),Order(mode: .middle,title: "shirt6")]
变成这个数组数组:
let orderArrayofArrays = [[Order(mode: .new,title: "shirt3")],[Order(mode: .old,title: "shirt5")],[Order(mode: .middle,title: "shirt6")]]
这对于一对对象的数组非常有效,但对于更大范围的数据的性能会变得更长且有问题。有没有办法优化这个算法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)