---
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: 1715
product: Flux
version: v0
---

# Work with composite data types

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.

```js
() => 1

(a, b) => a + b

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

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