---
title: "remove duplicates · RUAL Documentation"
description: "Removes duplicate values from an array."
canonical: https://docs.rual.nl/block-types/array/array_remove_duplicates
language: en
---

# remove duplicates

This block is part of the [`array`](https://docs.rual.nl/block-types/array) group and was last modified in core [`v10.4.28`](https://docs.rual.nl/core-versions/100428).

Removes duplicate values from an array.

- Array required `array` The array from which to remove duplicate values.

- Array `array` The array with duplicate values removed.

Keeps the FIRST occurrence of each repeated value and drops the rest. Numbers deduplicate by numeric value regardless of integer/float representation; null deduplicates too. Objects and arrays are NEVER deduplicated - every one is kept even when structurally identical.

| `deduplicate` |
| --- |

A typical wiring for [remove duplicates](https://docs.rual.nl/block-types/array/array_remove_duplicates): [concat](https://docs.rual.nl/block-types/array/array_concat) feeds the `array` pin; the `array` out pin feeds [length](https://docs.rual.nl/block-types/array/array_length).

![Studio canvas example for the remove duplicates block: typical wiring for remove duplicates.](https://docs.rual.nl/canvas-examples/array_remove_duplicates.png)

### Commonly used with

In production blueprints, this block is most often wired together with:

- [length](https://docs.rual.nl/block-types/array/array_length): this block feeds into it. Returns the total length of the given array.

- [concat](https://docs.rual.nl/block-types/array/array_concat): feeds into this block. Returns a joined array of two or more arrays.

- [add to top of array](https://docs.rual.nl/block-types/array/array_unshift): feeds into this block. Adds your given value to your given array.

- [set fields](https://docs.rual.nl/block-types/mutations/mutations_set_bp_field_multiple): this block feeds into it. Generates an array of mutations based on the given filled fields.

- [if](https://docs.rual.nl/block-types/array/array_branch): this block feeds into it. Conditional branching for arrays (if.. then.. else..).

- [new object](https://docs.rual.nl/block-types/object/object_new_fields): this block feeds into it. Builds a new object filled with the given fields.

### Version history

Introduced in [`v10.4.28`](https://docs.rual.nl/core-versions/100428).
