Swift 一维数组转二维数组
struct modelModel {
varname:String
varindex:Int
}
var arr = [modelModel(name:"", index:1),
modelModel(name:"", index:1),
modelModel(name:"", index:2),
modelModel(name:"", index:4),
modelModel(name:"", index:4),
modelModel(name:"", index:4),
modelModel(name:"", index:5),
modelModel(name:"", index:5),
modelModel(name:"", index:6),
modelModel(name:"", index:7),
modelModel(name:"", index:7),
modelModel(name:"", index:7),
modelModel(name:"", index:8),
modelModel(name:"", index:8),
modelModel(name:"", index:9)]
var list = arr.reduce(into: [[modelModel]]()) { partialResult, itemin
let index = partialResult.firstIndex(where: { array in return array.contains(where: {$0.index== item.index}) })
if let index = index {
partialResult[index].append(item)
}else{
let items: [modelModel] = [item]
partialResult.append(items)
}
}