1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 14:18:13 +01:00
dotSCAD/docs/lib3x-flat.md
Justin Lin d5238391cb update
2021-02-24 14:33:56 +08:00

777 B

flat

returns a new list with all sub-list elements concatenated into it recursively up to the specified depth.

Since: 2.3

Parameters

  • lt : The original list.
  • depth : Default to 1. The depth level specifying how deep a nested list should be flattened.

Examples

use <util/flat.scad>;

vt = [[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]];

assert(
	flat([1, 2, [3, 4]]) == 
		[1, 2, 3, 4]
);

assert(
	flat([[1, 2], [3, 4]]) == 
		[1, 2, 3, 4]
);

assert(
	flat([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]]) == 
		[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
);

assert(
	flat([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]], 2) == 
		[[1, 2], [3, 4], [5, 6], [7, 8]]
);

assert(
	flat([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]], 3) == 
		[1, 2, 3, 4, 5, 6, 7, 8]
);