Convert a 2D array into a flat, 1D array of unique items


Convert a messy multidimensional array into a nice single dimension array of unique items.

If you have an array that’s multidimensional, and that contains duplicated data: you can get a flat, unique version, using modern, ES2019 JavaScript capabilities.

Code language
const allAnimals = [
	["Cat", "Dog", "Quokka", "Possum"], 
	["Quokka", "Elephant", "Giraffe"], 
	"Cat", "Possum"

const filteredAnimals = [ Set(allAnimals.flat())];

The flat() prototype method grabs each nested array and returns back a single-level, flat array, containing all the data.

What we then do is use a new Set instantiation to discard any duplicates. Lastly, we use the spread syntax to convert that back into an array.

Hello, I’m Andy and I’ll help you build fast & visually stunning websites.

I’m the founder of Set Studio, a creative agency that specialises in building stunning websites that work for everyone. If you’ve got a project in mind, get in touch.