Articles of programmation fonctionnelle

Passer des paramètres supplémentaires dans des fonctions d'ordre supérieur

Considérons cet exemple: const samples = ["foo", "bar"]; const excludeFoos = function(item) { return item !== "foo"; } const foos = samples.filter(excludeFoos); Comment puis-je passer un paramètre supplémentaire dans excludeFoos ? Par exemple: const samples = ["foo", "bar"]; const exclude = function(item, str) { return item !== str; } // obviously won't work but you […]

Pourquoi cette "fonction de fenêtre" est-elle utilisée comme telle dans cette définition de fonction?

J'essaie de comprendre un fichier angularjs que je dois utiliser pour intégrer avec Django, et il a une syntaxe étrange dont je ne connais pas (pensez-vous que je suis un développeur junior, donc c'est peut-être votre pain et votre beurre) … Cela se passe comme suit: (function(angular, undefined){ 'use script'; var djng_forms_module = angular.module('ng.django.forms', []); […]

Existe-t-il un bon exemple de cas d'utilisation pour angular.identity ()?

Selon la documentation A function that returns its first argument. This function is useful when writing code in the functional style. Je me demande si je peux trouver un bon exemple d'un code d'écriture de cas d'utilisation dans un style fonctionnel dans une application angulaire. Merci

Quelle bibliothèque fonctionnelle Javascript: soulignement ou wu.js ou fonctionnel ou …?

Je crée une application node.js et je me demande quel javascript lib pour ajouter à mon répertoire. La liste courte actuelle comprend: Souligner Wu Fonctionnel Points bonus pour quelque chose qui fonctionne dans le navigateur (afin que je puisse l'utiliser sur le client et le serveur). Des idées? Conseil? Des avis sur ce qui précède? […]

Quelle est la signification de "callback.call (value, i, value)" dans chaque méthode de jQuery?

each() méthode each() dans jQuery contient une telle déclaration: callback.call( value, i, value ) Je ne pouvais pas comprendre ce que cette déclaration signifie exactement. Je sais quel callback et call signifient mais je ne pouvais pas obtenir les arguments de l'appel de fonction: (value,i,value) . Qu'est-ce que ça veut dire? La déclaration est utilisée […]

Comportement étrange pour Map, parseInt

Duplication possible: Javascript – Array.map et parseInt J'ai vu cet exemple de comportement de JavaScript étrange sur Twitter ['10','10','10','10','10'].map(parseInt) Évalue à [10, NaN, 2, 3, 4] Quelqu'un pourrait-il expliquer ce comportement? Je l'ai vérifié en chrome et firebug ['10','10','10','10','10'].map(function(x){return parseInt(x);}) Retourne correctement un tableau de 10s en tant que nombre entier. Est-ce une utilisation incorrecte […]

Façon fonctionnelle d'itérer sur la plage (ES6 / 7)

Quelle est la meilleure façon de faire ci-dessous de manière plus fonctionnelle (avec ES6 / ES7) let cols = []; for (let i =0; i <= 7; i++) { return i * i; } return cols; J'ai essayé comme, return [ …7 ].map(i => { return i * i; }); Mais cela a été traduit […]

À l'aide de Ramda et du style sans points, comment puis-je copier le premier élément d'un tableau à la fin de celui-ci?

Je veux prendre un tableau [1, 2, 3] et retourner [1, 2, 3, 1] . J'utilise Ramda, et je peux obtenir le résultat souhaité comme ceci: const fn = arr => R.append(R.prop(0, arr), arr); Mais j'aimerais le faire sans points. Voici le plus proche que j'ai obtenu: const fn = R.compose(R.append, R.prop(0)); fn(arr)(arr) Mais cela […]

Les méthodes d'objet attribuées aux variables ou aux arguments de la fonction échouent lorsqu'elles sont invoquées

J'apprends javascript en ce moment, me semble un beau langage fonctionnel, c'est merveilleux de passer de PHP, j'aurais dû le faire plus tôt. Bien que je ne puisse pas comprendre ceci: var v1 = (/[abc]/).test; v1('a'); Dit test method called on incompatible undefined , j'essaie de stocker la méthode de test de cette regex en […]

Vous recherchez un algorithme FP pour composer des objets à partir de chaînes séparées par points

J'essaie de résoudre un problème spécifique à l'aide de la programmation fonctionnelle. Je suppose que le repli devrait faire le travail, mais jusqu'à présent, la solution m'a échappé. À partir d'une chaîne séparée par points comme "abc" je veux créer un objet Javascript qui ressemblerait à la notation littérale JS: obj = {a:{b:{c:"whatever"}}} L'algorithme devrait […]