Type des éléments feuilles attendus après aplatissement complet.
Le tableau potentiellement imbriqué à aplatir.
Un nouveau tableau plat contenant tous les éléments feuilles, dans l'ordre.
Le paramètre arr est typé unknown[] car la profondeur d'imbrication est arbitraire —
T[][] ou T[][][] ne permettraient pas de représenter une profondeur variable.
Le consommateur est responsable de fournir le type T correspondant aux éléments feuilles.
Le fallback récursif peut atteindre les limites de call stack sur des structures extrêmement profondes (plusieurs milliers de niveaux d'imbrication). Ce cas est considéré hors scope pour un usage standard.
Pour un aplatissement à un seul niveau, préférer flatten.
flattenDeep<number>([1, [2, [3, [4]]]]) // → [1, 2, 3, 4]
flattenDeep<number>([1, [2], [[3], [4]]]) // → [1, 2, 3, 4]
flattenDeep<number>([]) // → []
flatten pour un aplatissement à un seul niveau.
Aplatit récursivement un tableau imbriqué sur tous les niveaux de profondeur.
Utilise
Array.flat(Infinity)nativement si disponible (Node 11+, navigateurs modernes), avec un fallback récursif pour les environnements anciens.