Maison >interface Web >js tutoriel >Comment créer une fonction de somme au curry variadique en JavaScript ?

Comment créer une fonction de somme au curry variadique en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 09:01:11315parcourir

How to Create a Variadic Curried Sum Function in JavaScript?

Fonction de somme variadique au curry en JavaScript

En JavaScript, le curry est une technique qui transforme une fonction avec plusieurs arguments en une série de fonctions avec un seul argument. Cela permet une plus grande flexibilité et une plus grande réutilisabilité du code.

Création d'une fonction de somme variadique au curry

La question posée cherche à créer une fonction de somme JavaScript pouvant accepter un nombre variable d'arguments et accumuler leur somme. Pour y parvenir, nous pouvons exploiter la puissance du curry :

function sum(n) {
  var v = function(x) {
    return sum(n + x);
  };

  v.valueOf = v.toString = function() {
    return n;
  };

  return v;
}

// Example usage
console.log(+sum(1)(2)(3)(4)); // Output: 10

Comprendre l'implémentation

  1. La fonction somme prend un seul argument n.
  2. Il renvoie une fonction interne v qui représente la fonction somme au curry.
  3. La fonction v prend un seul argument x et renvoie un nouvelle fonction de somme au curry qui intègre x.
  4. v définit également les méthodes valueOf et toString pour remplacer le comportement par défaut et renvoyer la valeur actuelle de la somme.
  5. Le résultat de l'appel de sum(1) est une fonction de somme au curry qui accepte un argument, sum(2).
  6. L'appel de sum(2) renvoie une autre fonction de somme au curry qui accepte un argument, sum(3).
  7. Ce processus continue jusqu'à ce que tous les arguments aient été consommés.
  8. Enfin, nous appelons valueOf sur la dernière fonction de somme curryée pour récupérer la somme finale.

En utilisant l'opérateur avant l'appel final à sum, nous forçons JavaScript à convertir le résultat en nombre, ce qui donne la somme souhaitée de tous les arguments.

Conclusion

Cette implémentation exploite le curry pour créer une fonction de somme variadique en JavaScript, permettant le calcul de sommes avec un nombre variable d'arguments de manière pratique et flexible. manière.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn