---
title: "insert(_:at:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/array/insert(_:at:)"
---

# insert(_:at:)

Inserts a new element at the specified position.

## Declaration

```swift
mutating func insert(_ newElement: Element, at i: Int)
```

## Parameters

- `newElement`: The new element to insert into the array.
- `i`: The position at which to insert the new element. index must be a valid index of the array or equal to its endIndex property.

## Discussion

Discussion The new element is inserted before the element currently at the specified index. If you pass the array’s endIndex property as the index parameter, the new element is appended to the array. var numbers = [1, 2, 3, 4, 5] numbers.insert(100, at: 3) numbers.insert(200, at: numbers.endIndex)

print(numbers) // Prints "[1, 2, 3, 100, 4, 5, 200]" note: O(n), where n is the length of the array. If i == endIndex, this method is equivalent to append(_:).

## See Also

### Adding Elements

- [append(_:)](swift/array/append(_:).md)
- [insert(contentsOf:at:)](swift/array/insert(contentsof:at:).md)
- [replaceSubrange(_:with:)](swift/array/replacesubrange(_:with:).md)
- [replaceSubrange(_:with:)](swift/array/replacesubrange(_:with:)-7293p.md)
- [reserveCapacity(_:)](swift/array/reservecapacity(_:).md)
