使用函式處理陣列
比如:處理陣列的平均值和標準差
let
sum=
(x,y)
=>
let square =
(x)=
>
const data =
[1,1,2,5,5]
;let mean = data.reduce(sum)/data.length;
let devistions = data.map((x)
=>)
;let stddev = math.sqrt(devistions.map(square).reduce(sum)
/data.length-1))
;
高階函式
即操作函式的函式,它接收乙個或者多個函式作為引數,並返回乙個新函式
compose(f,g)
=>
}let
sum=
(x,y)
=>
let square =
(x)=
>
var squareofsum = compose(square,sum)
squareofsum(2,3)
不完全函式// 將類陣列物件轉化為真正的陣列
array(a,n)
=>
partial(f)
}}
記憶–快取技巧memerize(f)
;return()
=>
else
}
使用
let factorial = memorize((n)
=>
)factorial(5)
;//120,對於4-1的值也有快取
突然想起 乙個和柯里化有關的題目: Day17 函式式程式設計入門
函式式程式設計 定義 用一系列函式解決問題。函式可以賦值給變數,賦值後變數繫結函式。允許將函式作為引數傳入另乙個函式。允許函式返回乙個函式。高階函式 將函式作為引數或返回值的函式。函式式程式設計 語法 回顧物件導向程式設計 封裝 分 繼承 隔 多型 做 def fun01 print fun01執行...
函式式程式語言python 函式式程式設計
函式是python內建支援的一種封裝,我們通過把大段 拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。而函式式程式設計 請注意多了乙個 式 字 functional programming,雖然也可以歸結...
函式式程式設計
最近在看一些關於js方面的東東,除了些ajax的基本應用,還了解了些函式式程式設計 fp 的東東。雖然以前也玩過幾天lisp的,不過因為當時完全對fp的東西沒有概念,壓根就不知道原來這是list那一族最大的特性之一 另外我知道的還有個是gc,orz.光注意那些詭異的 表 去了。總結一下,傳統上認為f...