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
!