代码之家  ›  专栏  ›  技术社区  ›  GarySabo

如何将数组拆分为(相等)块

  •  0
  • GarySabo  · 技术社区  · 5 年前

    下面有很多代码将数组分割成块,但我想将数组分割成相等的块(如果奇数大于1块可能不相等)。

    let array = [21.0, 72.0, 44.0, 56.0, 18, 68.0, 54.0, 35.0, 27.0]

    let test = array.chunks(4)
    print(test)
    

    以下是回报: [[18.0, 21.0, 27.0, 35.0], [44.0, 54.0, 56.0, 68.0], [72.0]]

    但我希望它能回来: [[18.0, 21.0, 27.0], [35.0, 44.0, 54.0], [56.0, 68.0, 72.0]]

    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)])
            }
        }
    }
    
    0 回复  |  直到 5 年前