将序列/集合拆分为块

时间:2019-05-09 09:04:07

标签: arrays swift string generics collections

Paul Hudson解释了如何将Swift Array拆分为his article中的块。它是这样的:

extension Array {
    func chunked(into size: Int) -> [[Element]] {
        return stride(from: 0, to: count, by: size).map {
            Array(self[$0 ..< Swift.min($0 + size, count)])
        }
    }
}

,可以这样使用:

let numbers = Array(1...100)
let result = numbers.chunked(into: 5)

我想知道是否可以推广该算法以使其适用于任意集合/序列,尤其是String。我考虑过将此算法应用于协议CollectionSequence ...

有什么想法吗?

0 个答案:

没有答案