函式式程式設計入門

2021-10-09 07:07:40 字數 968 閱讀 1877

使用函式處理陣列

比如:處理陣列的平均值和標準差

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...