Rekurzivní pole.plochý

Hodně se mluvilo o Array.prototype.flat v jeho raných fázích, počínaje samotným jménem. Mnoho vývojářů preferovalo název flatten ale specifikace se lišila od implementace MooTools. MooTools by rekurzivně srovnal pole, ale nový, oficiální flat implementace výchozí jednu úroveň zploštění,.

Aktuální implementace Array.prototype.flat je:

[1, 2, [3], [[4]]].flat(/* depth */);
// [1,2,3,[4]]

.flat ve výchozím nastavení pouze sloučí pole na jednu úroveň, ale co když chcete skutečně srovnané pole? Můžete použít Infinity a flat 's depth argument, aby se to stalo:

[1, 2, [3], [[4]], [[[[[[6]]]]]]].flat(Infinity);
// [1,2,3,4,6]

Název metody mi připadá trochu zavádějící, ale chápu, proč šli na jedinou úroveň. Název metody smush byl vržen, což by byl nejhorší název metody od stringify !