# `arrayAppend`

## Description

Returns a new array with an additional element appended to the end of an existing array.

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

## Syntax

Like many functions in DataPrime, `arrayAppend` 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
arrayAppend(array: array<T>, element: T): array<T>
```

```dataprime
(array: array<T>).arrayAppend(element: T): array<T>
```

## Arguments

| Name    | Type  | Required | Description                                      |
| ------- | ----- | -------- | ------------------------------------------------ |
| array   | array | **true** | The base array to modify                         |
| element | T     | **true** | The element to append, must match the array type |

## Example

**Use case: Add a missing value to an array for consistency in processing**

Suppose you have an array of job names but need to include an additional value from another field. Consider the following input:

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

By appending `my_other_value` to `my_values`, you can ensure all values are included in the array for downstream processing.

### Example query

```dataprime
replace my_values with arrayAppend(my_values, my_other_value)
```

```dataprime
replace my_values with my_values.arrayAppend(my_other_value)
```

### Example output

The result will include the new element at the end of the array:

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