Split large Array in Array of two elements

前端 未结 7 2076
借酒劲吻你
借酒劲吻你 2020-12-20 17:53

I have large list of objects and I need to split them in a group of two elements for UI propouse.

Example:

[0, 1, 2, 3, 4, 5, 6]

Becomes

7条回答
  •  甜味超标
    2020-12-20 18:17

    Swift 2 Gist

    let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    
    extension Array {
        func splitBy(subSize: Int) -> [[Element]] {
            return 0.stride(to: self.count, by: subSize).map { startIndex in
                let endIndex = startIndex.advancedBy(subSize, limit: self.count)
                return Array(self[startIndex ..< endIndex])
            }
        }
    }
    
    let chunks = arr.splitBy(5)
    
    print(chunks) // [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12]]
    

提交回复
热议问题