# How to return multiple values from a function in JavaScript

> Learn how to simulate returning multiple values from a JavaScript function by returning an array or an object and unpacking them with destructuring.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-06-07 | Topics: [JavaScript](https://flaviocopes.com/tags/js/) | Canonical: https://flaviocopes.com/javascript-return-multiple-values/

When we call a function in [JavaScript](https://flaviocopes.com/javascript/), we can only return one value using the `return` statement:

```js
const getAge = () => {
  return 37
}

const getName = () => {
  return 'Flavio'
}
```

How can we return multiple values from a function?

One easy trick is to return an array

```js
const getDetails = () => {
  return [37, 'Flavio']
}
```

This is fine, and we can get the values in this way thanks to array destructuring:

```js
const [age, name] = getDetails()
```

Now we have the `age` and `name` variables that contain those values.

Note that the order we define those in `const [age, name] = getDetails()` matters.

We can also return an object and use object destructuring:

```js
const getDetails = () => {
  return { 
    age: 37, 
    name: 'Flavio'
  }
}

const { age, name } = getDetails()
```

In this case, the order of `age` and `name` in `const { age, name } = getDetails()` does not matter any more, because those are named parameters.
