ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で Variadic Curried Sum 関数を作成するにはどうすればよいですか?

JavaScript で Variadic Curried Sum 関数を作成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-05 09:01:11311ブラウズ

How to Create a Variadic Curried Sum Function in JavaScript?

JavaScript の Variadic Curried Sum 関数

JavaScript におけるカリー化とは、複数の引数を持つ関数を 1 つの引数を持つ一連の関数に変換する手法です。これにより、コードの柔軟性と再利用性が向上します。

Variadic Curried Sum 関数の作成

提示された質問は、さまざまな数値を受け入れることができる JavaScript sum 関数を作成することを目的としています。引数の合計を計算します。これを達成するには、カリー化の力を活用できます。

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

実装を理解する

  1. sum 関数は 1 つの引数 n を受け取ります。
  2. カリー化された合計を表す内部関数 v を返しますfunction.
  3. v 関数は単一の引数 x を受け取り、x を組み込んだ新しいカリー化合計関数を返します。
  4. v は、デフォルトの動作をオーバーライドして現在の値を返す valueOf メソッドと toString メソッドも定義します。
  5. sum(1) を呼び出した結果は、1 つの引数を受け入れるカリー化された sum 関数です。 sum(2).
  6. sum(2) を呼び出すと、1 つの引数 sum(3) を受け入れる別のカリー化された sum 関数が返されます。
  7. このプロセスは、すべての引数が消費されるまで続きます。
  8. 最後に、最後にカリー化された合計関数で valueOf を呼び出し、最終的な合計を取得します。

By sum の最後の呼び出しの前に演算子を使用して、JavaScript に結果を数値に変換させ、すべての引数の目的の合計を求めます。

結論

この実装では、カリー化を活用して JavaScript で可変個引数の合計関数を作成し、便利かつ柔軟な方法でさまざまな数の引数を使用して合計を計算できるようにします。

以上がJavaScript で Variadic Curried Sum 関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。