I am having array and wants to iterate three at time
let array = [1, 2, 3, 4, 5, 7, 8, 9, 10]
// expected output -> [(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, optonal, optional)]
i have tried with Sequence
public extension Sequence {
func pairs() -> AnyIterator<(Element, Element?)> {
return AnyIterator(sequence(state: makeIterator(), next: { iterator in
iterator.next().map { ($0, iterator.next()) }
}))
}
}
let array = [1, 2, 3, 4, 5, 7, 8, 9, 10].pairs()
// output -> [(1, 2), (3, 4), (5, 6)...]
but i need three elements at a time
Thanks in Advance