Tracks
/
Tcl
Tcl
/
Exercises
/
Flatten Array
Flatten Array

Flatten Array

Easy

Introduction

A shipment of emergency supplies has arrived, but there's a problem. To protect from damage, the items β€” flashlights, first-aid kits, blankets β€” are packed inside boxes, and some of those boxes are nested several layers deep inside other boxes!

To be prepared for an emergency, everything must be easily accessible in one box. Can you unpack all the supplies and place them into a single box, so they're ready when needed most?

Instructions

Take a nested array of any depth and return a fully flattened array.

Note that some language tracks may include null-like values in the input array, and the way these values are represented varies by track. Such values should be excluded from the flattened array.

Additionally, the input may be of a different data type and contain different types, depending on the track.

Check the test suite for details.

Example

input: [1, [2, 6, null], [[null, [4]], 5]]

output: [1, 2, 6, 4, 5]

"Null" in Tcl

Tcl does not have a null or nil value. In practice, the empty string is often used to indicate "no value". But that can be tricky in situations where an empty string is actually a valid value, for example in a list representing a row of CSV data.

For this exercise, treat the empty string as a null value that is to be discarded.

Edit via GitHub The link opens in a new window or tab
Tcl Exercism

Ready to start Flatten Array?

Sign up to Exercism to learn and master Tcl with 125 exercises, and real human mentoring, all for free.