首頁 > web前端 > js教程 > 如何在 JavaScript 中建立可變參數柯里求和函數?

如何在 JavaScript 中建立可變參數柯里求和函數?

Susan Sarandon
發布: 2024-12-05 09:01:11
原創
317 人瀏覽過

How to Create a Variadic Curried Sum Function in JavaScript?

JavaScript 中的可變柯里求和函數

在JavaScript 中,柯里化是一種將具有多個參數的函數轉換為一系列具有單一參數的函數的技術。這使得程式碼具有更大的靈活性和可重複使用性。

建立可變參數柯里求和函數

提出的問題旨在建立一個可以接受不同數字的 JavaScript 求和函數參數並累積它們的總和。為了實現這一點,我們可以利用柯里化的力量:

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 函數接受單一參數 n。
  2. 它傳回一個內部函數 v,表示柯里化求和函數。
  3. v 函數接受單一參數 x 並傳回一個包含 x 的新柯里化求和函數。
  4. v 也定義了 valueOf 和 toString 方法來覆寫預設行為並傳回總和的目前值。
  5. 呼叫 sum(1) 的結果是一個接受一個參數 sum(2) 的柯里化求和函數。
  6. 呼叫 sum(2) 傳回另一個接受一個參數的柯里化求和函數, sum(3).
  7. 這個過程一直持續到所有參數都被消耗為止。
  8. 最後,我們在最後一個柯里化求和函數上呼叫 valueOf 來檢索最終的和。

透過在最終呼叫sum 之前使用運算符,我們強制JavaScript 將結果轉換為數字,從而得到所有所需的總和

結論

此實作利用柯里化在JavaScript中建立可變參數求和函數,從而能夠以方便且靈活的方式計算具有不同數量參數的總和。方式。

以上是如何在 JavaScript 中建立可變參數柯里求和函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板