UNPKG

functional-javascript-workshop

Version:

The basics of functional programming in JavaScript. No libraries required.

56 lines (40 loc) 1.37 kB
## Défi Écrivez une fonction récursive qui renvoie toutes les dépendances (et sous-dépendances) unique d’un module, triées alphabétiquement. Elles doivent être affichées au format *dependance@version*, par ex. `inflection@1.2.6`. On autorise des versions multiples d’un même module, mais les doublons (versions identiques) doivent être retirés. ## Arguments * `tree` : Une arborescence de dépendances. Voir ci-dessous pour sa structure. ## Exemple ```js var loremIpsum = { "name": "lorem-ipsum", "version": "0.1.1", "dependencies": { "optimist": { "version": "0.3.7", "dependencies": { "wordwrap": { "version": "0.0.2" } } }, "inflection": { "version": "1.2.6" } } } getDependencies(loremIpsum) // => [ 'inflection@1.2.6', 'optimist@0.3.7', 'wordwrap@0.0.2' ] ``` ## Conditions * N’utilisez pas de boucle `for`/`while`. ## Base de travail ```js function getDependencies(tree) { // VOTRE SOLUTION ICI // Note : n’hésitez pas à ajouter des arguments dont vous auriez besoin dans // vos appels récursifs. Mais ça n’a rien d’obligatoire ! Il y a bien des // manières de faire de la récursivité. } module.exports = getDependencies ``` ## Ressources * https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/keys