Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Array Iteration Methods Combining Array Methods Array Flattening

Using reduce method, flatten the customerNames array of arrays.

Using reduce method, flatten the customerNames array of arrays. In other words, take all the names from each array inside customerNames and place them in one big array. Store the flattened array in the flattenedCustomerNames variable. You can use the array in the comments below for reference.

const customerNames = [
    [ "John", "Sandy", "Tyrone", "Elizabeth", "Penny" ],
    [ "Barry", "Wanda", "Jamal", "Hayden" ],
    [ "Portia", "Pam", "Philip" ]
];
let flattenedCustomerNames;

// flattenedCustomerNames should be: ["John", "Sandy", "Tyrone", "Elizabeth", "Penny", "Barry", "Wanda", "Jamal", "Hayden", "Portia", "Pam", "Philip"]
// Write your code below

4 Answers

This worked!

flattenedCustomerNames = customerNames.reduce((arr, innerNames) => [ ...arr, ...innerNames], []);

console.log(flattenedCustomerNames);

Cheers!

This on the console: const customerNames = [ [ "John", "Sandy", "Tyrone", "Elizabeth", "Penny" ], [ "Barry", "Wanda", "Jamal", "Hayden" ], [ "Portia", "Pam", "Philip" ] ]; let flattenedCustomerNames; flattenedCustomerNames = customerNames.reduce((arr, innerNames) => [ ...arr, ...innerNames], []); (12) ["John", "Sandy", "Tyrone", "Elizabeth", "Penny", "Barry", "Wanda", "Jamal", "Hayden", "Portia", "Pam", "Philip"]

Noah Yasskin
Noah Yasskin
23,947 Points

with syntax highlighting:

flattenedCustomerNames = customerNames.reduce((arr, innerNames) => [...arr, ...innerNames], []);

Why does 'innerNames' work, and not come up as 'undefined' like when I try to use a different name. 'innerNames' is also not defined anywhere in the code.