Articles of programmation fonctionnelle

Rédaction d'une fonction javascript curry qui peut être appelé un nombre arbitraire de fois qui renvoie une valeur sur le dernier appel de fonction

Je travaille actuellement sur un problème de programmation dans mon temps personnel qui demande que je crée une fonction javascript qui peut être appelée de cette manière. add(1) // 1 add(1)(2) // 3 add(1)(2)(3); // 6 add(1)(2)(3)(4); // 10 add(1)(2)(3)(4)(5); // 15 Ce que j'ai de la difficulté à trouver, c'est comment faire en sorte […]

Pourquoi cette résolution est-elle si spéciale en JavaScript?

Avertissement: code JavaScript Buggy en premier! // 1: buggy counter // —————– // problem: 'this' can be "broken" var Counter1 = function() { this.count = 0; this.increment = function() { function increment_helper(){ ++this.count; // this refers to window (global), not to the object that Counter1 was called with } increment_helper(); } this.reset = function() { […]

Est-ce que la compile de Javascript ou l'interprétation à deux passes?

Je suis un programmeur novateur JavaScript reconnu et j'essaie d'en apprendre davantage. Donc, je me tourne vers vous pour aider les gens, avec cette question facile :). Le livre O'Reilly que je lis continue de se référer au temps de compilation du code JavaScript. Ma connaissance de la programmation fonctionnelle (le schéma et le goûte) […]

Comment puis-je remplacer les boucles avec une alternative de programmation fonctionnelle sans l'optimisation des appels de queue?

J'expérimente un style plus fonctionnel dans mon JavaScript; Par conséquent, j'ai remplacé les boucles par des fonctions d'utilité telles que la carte et la réduction. Cependant, je n'ai pas trouvé de remplacement fonctionnel pour les boucles car l'optimisation des appels de queue n'est généralement pas disponible pour JavaScript. (D'après ce que je comprends ES6 empêche […]

Ngrx traitant le tableau imbriqué dans l'objet

J'apprends le modèle redux et j'utilise ngrx avec angular 2. Je crée un exemple de site de blog qui a la forme suivante. export interface BlogContent { id: string; header: string; tags: string[]; title: string; actualContent: ActualContent[]; } Et mon réducteur et les actions sont les suivantes: import { ActionReducer, Action } from '@ngrx/store'; import […]

Existe-t-il un moyen de faire déplacer ce diaporama automatiquement?

C'est le diaporama que nous avons utilisé: Http://www.littlewebthings.com/projects/blinds/ Et c'est le fichier JS: Http://www.littlewebthings.com/projects/blinds/js/jquery.blinds-0.9.js Cependant, ce diaporama n'a pas de paramètre qui fait passer automatiquement chaque image. Vous devez toujours cliquer sur les chiffres ci-dessous pour voir les images. Est-ce que quelqu'un sait ce qu'il faut ajouter au code javascript pour faire passer automatiquement chaque […]

Comment implémenter une fonction de réduction plus générale pour permettre une sortie anticipée?

reduce (aka foldL en FP) est la fonction itérative d'ordre supérieur la plus générale en Javascript. Vous pouvez implémenter, par exemple, une map ou un filter en termes de reduce . J'ai utilisé une boucle impérative pour mieux illustrer l'algorithme: const foldL = f => acc => xs => { for (let i = 0; […]

Extraire l'attribut objet de la liste des objets en Javascript

J'ai l'objet suivant que je reçois d'une API: { '2012-12-12': [ { 'id': 1234, 'type': 'A' }, { 'id': 1235, 'type': 'A' }, { 'id': 1236, 'type': 'B' }, ], '2012-12-13': [ { 'id': 1237, 'type': 'A' }, { 'id': 1238, 'type': 'C' }, { 'id': 1239, 'type': 'B' }, ] } Ensuite, je souhaite […]

Est-ce un transformateur monad en Javascript valide?

Afin de mieux comprendre les transformateurs monadis, j'ai mis en place un. Étant donné que Javascript est typé de manière dynamique, je ne modifie pas les constructeurs de type ou de données, mais ne déclarons que les anciens objets Javascript, qui contiennent les fonctions statiques correspondantes pour former un monad / transformateur spécifique. L'idée sous-jacente […]

Mode fonctionnel pour joindre deux tableaux d'objets js basés sur un identifiant commun

J'essaie d'obtenir quelque chose de similaire à la jointure de tables SQL, de la manière la plus élégante (fonctionnelle), de préférence avec underscore.js, donc non pour les boucles s'il vous plaît. Je dois fusionner des objets à partir de deux tableaux différents, correspondant à un identifiant commun. Par exemple, donné: var basic = [{ id: […]