---
title: "index(_:offsetBy:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/array/index(_:offsetby:)"
---

# index(_:offsetBy:)

Returns an index that is the specified distance from the given index.

## Declaration

```swift
func index(_ i: Int, offsetBy distance: Int) -> Int
```

## Parameters

- `i`: A valid index of the array.
- `distance`: The distance to offset i.

## Return Value

Return Value An index offset by distance from the index i. If distance is positive, this is the same value as the result of distance calls to index(after:). If distance is negative, this is the same value as the result of abs(distance) calls to index(before:).

## Discussion

Discussion The following example obtains an index advanced four positions from an array’s starting index and then prints the element at that position. let numbers = [10, 20, 30, 40, 50] let i = numbers.index(numbers.startIndex, offsetBy: 4) print(numbers[i]) // Prints "50" The value passed as distance must not offset i beyond the bounds of the collection.

## See Also

### Manipulating Indices

- [startIndex](swift/array/startindex.md)
- [endIndex](swift/array/endindex.md)
- [index(after:)](swift/array/index(after:).md)
- [formIndex(after:)](swift/array/formindex(after:).md)
- [index(before:)](swift/array/index(before:).md)
- [formIndex(before:)](swift/array/formindex(before:).md)
- [formIndex(_:offsetBy:)](swift/array/formindex(_:offsetby:).md)
- [index(_:offsetBy:limitedBy:)](swift/array/index(_:offsetby:limitedby:).md)
- [formIndex(_:offsetBy:limitedBy:)](swift/array/formindex(_:offsetby:limitedby:).md)
- [distance(from:to:)](swift/array/distance(from:to:).md)
