day26: 开始体验 ramda.js

今天我们要开始体验 Ramda,请大家到 Ramda.js 官网安装 Ramda 後,
就可以开始以下的实作。

像是前几天提到用 curry 实作的 add function,
Ramda 就有提到封装好的 function。

add

import * as R from 'ramda';
R.add(3)(4); // 7
R.add(3,4); // 7

以上两种写法都可以得到相同的结果。

map

const incrementOne = x => x + 1;

R.map(incrementOne, [3, 4, 5]); //=> [4, 5, 6]

R.map(incrementOne, {x: 3, y: 4, z: 5}); //=> {x: 4, y: 5, z: 6};

比较特别得是 Ramda.js 的 map 有实作了 object 也可以透过 map 去做 object 的复制和值的变更的方法。

pipe

使用 ramda.js 的 pipe 可以把 function 组合在一起。

const array = [1,2,3];
const multiplyFunc = x =>x*3;

const result =(x)=>
 {return R.pipe(
   R.map(multiplyFunc,R.__),
   R.difference(R.__, [7,6,5,4,3]),
 )(x)}
result(array); // 9

<<:  Day26. 星多天空亮,人多智慧广 - Plugins

>>:  [访谈] APCS x 武陵科学班 Jayinnn

Day04 如何通讯-网路协商

WebRTC 通讯 WebRTC 最常见的应用场景就是一对一的视讯通话,当我们准备和另一端的人进行点...

Python 演算法 Day 2 - 理论基础 线性代数

Chap.I 理论基础 Part 1:线性代数 1. Getting Started with Eq...

[Day3] Practice Resources

CTF 通常会依照各种领域区分, Web 、 Reverse 、 Pwn 、 Crypto 等。而渗...

Python 演算法 Day 4 - 理论基础 微积分

Chap.I 理论基础 Part 2:微积分 4. Critical Points and Opti...

Day 25. Zabbix 实际报警案例分享 - 帐号资料被异动

Hi 大家,我的技术分享已经告一个段落了,会以一天一个案例跟大家分享,不过相对外面企业应该是小巫见大...