# `arrayRemoveAt`

## Description

Returns a new array with the element at the specified position removed.

- The element type must match the array type.
- Supported element types include `string`, `bool`, `number`, `interval`, `timestamp`, `regexp`, and `enum`.
- Positions are **0-indexed**.

## Syntax

Like many functions in DataPrime, `arrayRemoveAt` supports [two notations](https://coralogix.com/docs/dataprime/language-reference/functions-reference/index.md), **function** and **method** notation. These interchangeable forms allow flexibility in how you structure expressions.

```dataprime
arrayRemoveAt(array: array<T>, position: number): array<T>
```

```dataprime
(array: array<T>).arrayRemoveAt(position: number): array<T>
```

## Arguments

| Name     | Type   | Required | Description                                    |
| -------- | ------ | -------- | ---------------------------------------------- |
| array    | array  | **true** | The array to modify                            |
| position | number | **true** | The index of the element to remove (0-indexed) |

## Example

**Use case: Remove an item from a queue by position**

Suppose you have a list of jobs and want to remove the job at a specific position. Consider the following input:

```json
{
    "values": ["Job 1", "Job 2", "Job 3", "Job 4"]
}
```

By removing the element at index `2`, the array will no longer include `"Job 3"`.

### Example query

```dataprime
replace values with arrayRemoveAt(values, 2)
```

```dataprime
replace values with values.arrayRemoveAt(2)
```

### Example output

The result will include the updated array without the element at that position:

```json
{
    "values": ["Job 1", "Job 2", "Job 4"]
}
```
