Built-in Higher-Order Functions
You may already be using higher‑order functions without realizing it. The most common examples are array methods that accept a function as an argument to transform, filter, or accumulate data. These methods are essential tools for functional programming in JavaScript.
| HOF | Rôle | Exemple |
|---|---|---|
map() | Transforme chaque élément d’un tableau et retourne un nouveau tableau. | const double = nombres.map(n => n * 2); |
filter() | Crée un nouveau tableau avec uniquement les éléments qui satisfont une condition. | const pairs = nombres.filter(n => n % 2 === 0); |
reduce() | Accumule les valeurs d’un tableau en une seule valeur (somme, moyenne, etc.). | const somme = nombres.reduce((acc, n) => acc + n, 0); |
forEach() | Exécute une fonction une fois par élément, généralement pour ses effets de bord. | nombres.forEach(n => console.log(n)); |
sort() | Trie les éléments d’un tableau sur place, selon une fonction de comparaison. | const tries = noms.sort((a, b) => a.localeCompare(b)); |
Exemples / Examples
Section titled “Exemples / Examples”const numbers = [1, 2, 3, 4, 5];
// mapconst doubled = numbers.map((n) => n * 2);console.log(doubled); // [2, 4, 6, 8, 10]
// filterconst evens = numbers.filter((n) => n % 2 === 0);console.log(evens); // [2, 4]
// reduceconst sum = numbers.reduce((acc, n) => acc + n, 0);console.log(sum); // 15
// forEachnumbers.forEach((n) => console.log(n)); // 1,2,3,4,5
// sortconst fruits = ["banana", "apple", "cherry"];const sorted = fruits.sort((a, b) => a.localeCompare(b));console.log(sorted); // ['apple', 'banana', 'cherry']