JavaScriptFunçõesintermediario

Composição de funções

Composição de funções é a base para construir pipelines de transformação de dados, como em middlewares de Redux ou encadeamento de operações em streams. Em vez de aninhar chamadas manualmente, você reutiliza e combina funções simples para formar lógica complexa com clareza.

O PROBLEMA

Crie compor(...fns) que aplica funções da direita para esquerda.

EXEMPLO

const pipeline = compor(quadrado, incrementar, dobrar);
pipeline(3) → 49

SOBRE O CONCEITO

A composição compor(f, g)(x) equivale a f(g(x)): a última função recebe o valor original e o resultado passa para a anterior. No JavaScript, você pode implementá-la com reduceRight ou invertendo o array e usando reduce. O erro mais comum é inverter a ordem — se você aplicar reduce normalmente, a primeira função da lista será chamada primeiro, quebrando a semântica desejada. Por isso, é essencial garantir que a execução vá da direita para a esquerda, usando reduceRight ou espalhando as funções de trás para frente no reduce.

RESOLUÇÃO

Mais exercícios de Funções

JSF020 · IntermediárioIIFEJSF022 · AvançadoGenerator functionJSF023 · AvançadoFunção pura vs impuraJSF024 · AvançadoTrampolim para recursão
Ver todos os exercícios de JavaScript