Swift 数组平分

需求:在一个一维数组中,需要等分成为二维数组
例:[1,2,3,4,5,6,7] => [[1,2],[3,4],[5,6],[7]]

利用 stride 函数进行等分

    var array = Array(1...10)
    let step = 8 //分割步长
    var finalArray = stride(from: 0, to: array.endIndex - (array.endIndex % step), by: step).map {
        Array(array[$0...$0+(step - 1)])
    }

//取余,上面的操作只会等分,后面部分会被舍弃,需要重新加回
    if  array.count % step > 0{
     let a = Array(array[(step)...(array.count - 1)])
        finalArray.append(a)
    }

你可能感兴趣的:(Swift 数组平分)