Swift 一维数组转二维数组

2022-05-27  本文已影响0人  symBoy

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)

    }

}

上一篇 下一篇

猜你喜欢

热点阅读