flat e flatMap
Ao lidar com dados de APIs ou bancos de dados, é comum receber arrays aninhados, como listas de pedidos com itens. flat() e flatMap() permitem achatar esses arrays de forma clara e eficiente, sem precisar de loops aninhados. Dominar esses métodos torna seu código mais expressivo e evita erros de iteração manual.
O PROBLEMA
Use flat() e flatMap() em array aninhado.
EXEMPLO
[[1,2],[3,4]].flat() → [1,2,3,4] .flatMap(n => [n*2]) → [2,4,6,8]
SOBRE O CONCEITO
flat() achata subarrays recursivamente até a profundidade especificada (padrão 1). Um erro comum é assumir que flat() modifica o array original – na verdade, ele retorna um novo array, o que é importante para manter a imutabilidade dos dados. Já flatMap() primeiro aplica uma função de mapeamento a cada elemento e depois achata o resultado em um nível, sendo equivalente a map() seguido de flat(1), mas mais eficiente. Por exemplo, [[1,2],[3,4]].flat() retorna [1,2,3,4] e [1,2,3].flatMap(n => [n*2]) retorna [2,4,6].
RESOLUÇÃO