x => f(g(x)); // map, filter and sum already defined var even = number => number % 2 == 0; var squared = number => number ** 2; var sumsqreven = compose(sum, compose(map(squared), filter(even))) > sumsqreven([1, 2, 3, 4]) 20
% 2 == 0; var squared = number => number ** 2; var sum = (total, element) => total + element; > [1, 2, 3, 4].filter(even) .map(squared) .reduce(sum); 20
[for (xs of xss) for (x of xs) x] > concat([[1, 2, 3, 4], [9, 2, 5]]) [ 1, 2, 3, 4, 9, 2, 5 ] [for (x of iterable) x] [for (x of iterable) if (condition) x] [for (x of iterable) for (y of iterable) x + y]
Functional programming in Javascript: map, filter and reduce Entendendo Programação Funcional em JavaScript de uma vez JavaScript Functional Programming Cookbook (ES6) Lazy lists em JavaScript!