需求:在一个一维数组中,需要等分成为二维数组
例:[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)
}
网友评论