# Push Array Element

## Overview

![The Push Array Element Node.](https://3009747178-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MIspkFTPkuGkv4UgQGs-1330240639%2Fuploads%2Fgit-blob-ec6c45376bf78f19133378d0c3e5c1468c4f110d%2Fpush-array-element.PNG?alt=media)

**Push Array Element** adds element/s to an **Array**. The **Array** is given as input to the **Node**.

If no **Array** is given as input, the elements are added to a new, empty **Array**.

## Attributes

### Inputs

`Inputs` - The number of **Input** elements you wish to add to the **Input** **Array**. Each element has the following **Attributes**:

| Attribute       | Type                                          | Description                                                                                             |
| --------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `Data Type`     | **Drop-down**                                 | The `Data Type` of the element you wish to add the **Input** **Array**.                                 |
| `Default Value` | *Defined in the* `Data Type` ***Attribute***. | A `Default Value` you wish to add to the **Array** if no value is provided to the **Input** **Socket**. |

### Mode

The `Mode` is a toggle that determines whether element/s will be added to the front or back of the **Array**.

| Attribute    | Type     | Description                                                                                                                                       |
| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Add to end` | **Bool** | If the toggle is switched on, the desired element is added to the back of the **Array** otherwise it will be added to the front of the **Array**. |

## Inputs

| Input              | Type                                         | Description                                                           |
| ------------------ | -------------------------------------------- | --------------------------------------------------------------------- |
| *Pulse Input* (►)  | **Pulse**                                    | A standard **Input Pulse**, to trigger the execution of the **Node**. |
| `Array (optional)` | **Array**                                    | An **Array** to which you wish to add element/s.                      |
| `Value [n]`        | *Defined in the* `Data Type` ***Attribute*** | The value you wish to add to a desired **Array**.                     |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| `Array`            | **Array** | The resulting **Array** after the desired values are successfully added.                                                               |

## See Also

* [**Array Value**](https://docs.incari.com/incari-studio/2021.1/toolbox/array/array-value)
* [**Pop Array Element**](https://docs.incari.com/incari-studio/2021.1/toolbox/array/pop-array-element)
