UNPKG

count-to-6

Version:

An intro to some ES6 features via a set of self-guided workshops.

48 lines (31 loc) 1.81 kB
Les **fonctions fléchées** (fonctions utilisant la nouvelle syntaxe avec `=>`) sont une des nouvelles fonctionalités d’ES6 les plus sympa. Dans cet exercice, on va se concentrer sur leur utilisation la plus courante : réduire le code de fonctions simples. En ES6, on écrit une fonction fléchée comme ceci : ```js x => x + 1 ``` …et ça correspond au code ES5 suivant : ```js function (x) { return x + 1; } ``` Plutôt sympa, n’est-ce pas ? Vous pouvez mettre n’importe quelle expression sur la droite du `=>`, et ça deviendra votre valeur de retour. C’est particulièrement utile lorsqu’on fait des opérations au travers d’itérateurs tels que `map` ou `filter` sur des collections. Remarquez que si vous avez besoin de plusieurs arguments, il vous faudra les enrober entre des parenthèses, comme ceci : ```js (x, y) => x + y ``` ## Défi Votre programme recevra sur la ligne de commande un nombre variable d’arguments (à partir de `process.argv[2]` et au-delà), qui seront tous à traiter comme des `String`s. Utilisez les fonctions fléchées pour effectuer une opération de map-reduce sur ces données, avant d’afficher le résultat en console. En gros, votre solution devrait ressembler à ça : ```js var inputs = process.argv.slice(2); var result = inputs .map(/* là on met quoi ? */) .reduce(/* et là, on met quoi ? */); ``` Plus spécifiquement, vous devrez : - Transformer chaque `String` entrante en son premier caractère ; - Réduire le tableau obtenu en concaténant les caractères ensemble. Du coup, une entrée `["Salut", "les", "fonctions", "fléchées"]` produirait `"Slff"`. Affichez le résultat sur la console, qu’on puisse le voir, en respectant le format suivant : ``` [Salut,les,fonctions,fléchées] devient "Slff" ```