ramda常用函式

2021-09-26 19:45:05 字數 2294 閱讀 8021

1–findlist

(a → boolean) → [a] → a | undefined

查詢並返回 list 中首個滿足 predicate 的元素;如果未找到滿足條件的元素,則返回 undefined 。

若第二個引數自身存在 find 方法,則呼叫自身的 find 方法。

若在 list 位置中給出 transfomer ,則用作 transducer 。

const xs = [, , ];

r.find(r.propeq(『a』, 2))(xs); //=>

r.find(r.propeq(『a』, 4))(xs); //=> undefined

2—findindexlist

(a → boolean) → [a] → number

查詢並返回 list 中首個滿足 predicate 的元素的索引;如果未找到滿足條件的元素,則返回 -1 。

若在 list 位置中給出 transfomer ,則用作 transducer 。

const xs = [, , ];

r.findindex(r.propeq(『a』, 2))(xs); //=> 1

r.findindex(r.propeq(『a』, 4))(xs); //=> -1

3–findlastlist

(a → boolean) → [a] → a | undefined

查詢並返回 list 中最後乙個滿足 predicate 的元素;如果未找到滿足條件的元素,則返回 undefined 。

若在 list 位置中給出 transfomer ,則用作 transducer 。

const xs = [, ];

r.findlast(r.propeq(『a』, 1))(xs); //=>

r.findlast(r.propeq(『a』, 4))(xs); //=> undefined

4–flattenlist

[a] → [b]

獲取 list 的所有元素(包含所有子陣列中的元素),然後由這些元素組成乙個新的陣列。深度優先。

r.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);

//=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

5–flipfunction

((a, b, c, …) → z) → (b → a → c → … → z)

交換函式前兩個引數的位置。

const mergethree = (a, b, c) => .concat(a, b, c);

mergethree(1, 2, 3); //=> [1, 2, 3]

r.flip(mergethree)(1, 2, 3); //=> [2, 1, 3]

6–foreachlist

(a → *) → [a] → [a]

遍歷 list,對 list 中的每個元素執行方法 fn。

fn 接收單個引數: (value)。

還要注意, 不同於 array.prototype.foreach,ramda 的 foreach 會將原陣列返回。在某些庫中,該方法也被稱為 each.

若第二個引數自身存在 foreach 方法,則呼叫自身的 foreach 方法。

const printxplusfive = x => console.log(x + 5);

r.foreach(printxplusfive, [1, 2, 3]); //=> [1, 2, 3]

// logs 6

// logs 7

// logs 8

7–foreachobjindexedobject

((a, string, strmap a) → any) → strmap a → strmap a

遍歷 object,對 object 中的每對 key 和 value 執行方法 fn。

fn 接收三個引數: (value, key, obj).

const printkeyconcatvalue = (value, key) => console.log(key + 『:』 + value);

r.foreachobjindexed(printkeyconcatvalue, ); //=>

// logs x:1

// logs y:2

從函式式程式設計到Ramda函式庫(一)

函式式程式設計是種程式設計方式,它將電腦運算視為函式的計算。函式程式語言最重要的基礎是 演算 lambda calculus 而且 演算的函式可以接受函式當作輸入 引數 和輸出 返回值 和命令式程式設計相比,函式式程式設計強調函式的計算比指令的執行重要。和過程化程式設計相比,函式式程式設計裡函式的計...

python常用函式 python常用函式精講

返回值為bool型別的函式 bool是boolean的縮寫,只有真 true 和假 false 兩種取值 bool函式只有乙個引數,並根據這個引數的值返回真或者假。引數如果預設,則返回false 引數轉換使用標準的邏輯測試表示式 傳入布林型別時,按原值返回 傳入字串時,空字串返回false,否則返回...

c mysql常用函式 mysql常用函式

1.concat s1,s2,sn 函式 把傳入的引數連線成為乙個字串。例 mysql select concat aa bb cc concat a null concat aa bb cc concat a null aabbcc null 1 row in set 0.00 sec 注意 任何...