---
title: "subscript(_:)"
framework: swift
role: symbol
role_heading: Instance Subscript
path: "swift/array/subscript(_:)-53fvb"
---

# subscript(_:)

Accesses a contiguous subrange of the array’s elements.

## Declaration

```swift
subscript(bounds: Range<Int>) -> ArraySlice<Element> { get set }
```

## Parameters

- `bounds`: A range of integers. The bounds of the range must be valid indices of the array.

## Overview

Overview The returned ArraySlice instance uses the same indices for the same elements as the original array. In particular, that slice, unlike an array, may have a nonzero startIndex and an endIndex that is not equal to count. Always use the slice’s startIndex and endIndex properties instead of assuming that its indices start or end at a particular value. This example demonstrates getting a slice of an array of strings, finding the index of one of the strings in the slice, and then using that index in the original array. let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"] let streetsSlice = streets[2 ..< streets.endIndex] print(streetsSlice) // Prints "["Channing", "Douglas", "Evarts"]"

let i = streetsSlice.firstIndex(of: "Evarts")    // 4 print(streets[i!]) // Prints "Evarts"

## See Also

### Accessing Elements

- [subscript(_:)](swift/array/subscript(_:)-25iat.md)
- [first](swift/array/first.md)
- [last](swift/array/last.md)
- [subscript(_:)](swift/array/subscript(_:)-3kwny.md)
- [subscript(_:)](swift/array/subscript(_:)-4h7rl.md)
- [subscript(_:)](swift/array/subscript(_:)-3pmfg.md)
- [randomElement()](swift/array/randomelement().md)
- [randomElement(using:)](swift/array/randomelement(using:).md)
