Given an array like this:

```
[
    { id: 1, emailAddresses: ["bill@test.com", "bob@test.com"] },
    { id: 2, emailAddresses: ["sarah@test.com" },
    { id: 3, emailAddresses: ["jane@test.com", "laura@test.com", "paul@test.com"]
]

```

How could I use Javascript to reduce this to an array like this:

```
[
    { id: 1, emailAddress: "bill@test.com" },
    { id: 1, emailAddress: "bob@test.com" },
    { id: 2, emailAddress: "sarah@test.com" },
    { id: 3, emailAddress: "jane@test.com" },
    { id: 3, emailAddress: "laura@test.com" },
    { id: 3, emailAddress: "paul@test.com" }
 ]

```

I've read about the functions `reduce`, `flat`, `map` and so on and read lots of the questions on SO about using them but I can't find anything that's asking quite the same as this and I can't get my head around using those functions to do it.