Instance Method

suffix(from:)

Returns a subsequence from the specified position to the end of the collection.

Declaration

func suffix(from start: Int) -> ArraySlice<Element>

Parameters

start

The index at which to start the resulting subsequence. start must be a valid index of the collection.

Return Value

A subsequence starting at the start position.

Discussion

The following example searches for the index of the number 40 in an array of integers, and then prints the suffix of the array starting at that index:

let numbers = [10, 20, 30, 40, 50, 60]
if let i = numbers.firstIndex(of: 40) {
    print(numbers.suffix(from: i))
}
// Prints "[40, 50, 60]"

Passing the collection’s endIndex as the start parameter results in an empty subsequence.

print(numbers.suffix(from: numbers.endIndex))
// Prints "[]"

Using the suffix(from:) method is equivalent to using a partial range from the index as the collection’s subscript. The subscript notation is preferred over suffix(from:).

if let i = numbers.firstIndex(of: 40) {
    print(numbers[i...])
}
// Prints "[40, 50, 60]"

Complexity: O(1)

See Also

Selecting Elements

func prefix(Int) -> ArraySlice<Element>

Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.

func prefix(through: Int) -> ArraySlice<Element>

Returns a subsequence from the start of the collection through the specified position.

func prefix(upTo: Int) -> ArraySlice<Element>

Returns a subsequence from the start of the collection up to, but not including, the specified position.

func prefix(while: (Element) -> Bool) -> ArraySlice<Element>

Returns a subsequence containing the initial elements until predicate returns false and skipping the remaining elements.

func suffix(Int) -> ArraySlice<Element>

Returns a subsequence, up to the given maximum length, containing the final elements of the collection.