yattee/Extensions/Array+Next.swift

14 lines
302 B
Swift

extension Array where Element: Equatable {
func next(after element: Element) -> Element? {
let idx = firstIndex(of: element)
if idx.isNil {
return first
}
let next = index(after: idx!)
return self[next == endIndex ? startIndex : next]
}
}