---
title: Work with composite data types
description: 'Flux composite types are types constructed from basic types. Flux supports the following composite types: record, array, dictionary, function.'
url: https://docs.influxdata.com/flux/v0/data-types/composite/
estimated_tokens: 384
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/data-types/composite/
date: '2023-09-12T23:33:31-06:00'
lastmod: '2023-09-12T23:33:31-06:00'
---

Flux **composite types** are types constructed from basic types.
Flux supports the following composite types:

* [Record](#record)
* [Array](#array)
* [Dictionary](#dictionary)
* [Function](#function)

### [Record](/flux/v0/data-types/composite/record/)

A **record** type is a set of key-value pairs. Learn how to work with record types in Flux.

```js
{foo: "bar", baz: 123.4, quz: -2}

{"Company Name": "ACME", "Street Address": "123 Main St.", id: 1123445}
```

[Read more ](/flux/v0/data-types/composite/record/)

### [Array](/flux/v0/data-types/composite/array/)

An **array** type is an ordered sequence of values of the same type. Learn how to work with arrays in Flux.

```js
["1st", "2nd", "3rd"]

[1.23, 4.56, 7.89]

[10, 25, -15]
```

[Read more ](/flux/v0/data-types/composite/array/)

### [Dictionary](/flux/v0/data-types/composite/dict/)

A **dictionary** type is a collection of key-value pairs with keys of the same type and values of the same type. Learn how to work with dictionaries in Flux.

```js
[0: "Sun", 1: "Mon", 2: "Tue"]

["red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"]

[1.0: {stable: 12, latest: 12}, 1.1: {stable: 3, latest: 15}]
```

[Read more ](/flux/v0/data-types/composite/dict/)

### [Function](/flux/v0/data-types/composite/function/)

A **function** type is a set of parameters that perform an operation. Learn how to work with functions in flux.

```
() => 1

(a, b) => a + b

(a, b, c=2) => {
    d = a + b
    return d / c
}
```

[Read more ](/flux/v0/data-types/composite/function/)
