O JavaScript tem esses três métodos que abordam a manipulação de array de uma forma mais voltada à programação funcional.

Para aprendermos sobre map, reduce e filter, vamos utilizar uma metáfora de preparar uma vitamina.

Filter

Quando queremos preparar uma vitamina, escolhemos algumas frutas para compô-la. Abrimos a geladeira e filtramos do que temos ali dentro as frutas que desejamos.

Vamos imaginar que queremos fazer uma vitamina de abacate, banana e morango. Então devemos pegar apenas essas frutas.

Definição filter()

Map

Agora que já temos nossas frutas, precisamos cortá-las para batê-las no liquidificador. Para fazer isso, transformar uma fruta inteira para uma fruta cortada.

Definição map()

Reduce

Por fim, para finalmente termos nossa tão esperada vitamina, vamos reduzir nossas frutas cortadas com um pouco de leite a uma vitamina.

Definição reduce()