使用TypeScript实现环形队列
TS实现环形队列 ======== **吐槽一下,这个是按照Java的定长数组为前提的,然而TypeScript数组是不定长的,再加上原生具有push和shift方法,其实这个实现完全没有必要。。但最近正好学数据结构,就当练习了** 的类型</li> <li&...
<h2>纯函数 {#%E7%BA%AF%E5%87%BD%E6%95%B0}</h2> <h3>纯函数的概念 {#%E7%BA%AF%E5%87%BD%E6%95%B0%E7%9A%84%E6%A6%82%E5%BF%B5}</h3> <ul> <li> <p>纯函数: 相同的输入始终会得到相同...
<h2>函数组合 {#%E5%87%BD%E6%95%B0%E7%BB%84%E5%90%88}</h2> <ul> <li>纯函数和了柯里化很容易写出洋葱代码 <code>h(g(e(x)))</code></li> <li>函数组合可以让我们把细粒度的函数重新组合生成一个新的函数...
<h2>柯里化 {#%E6%9F%AF%E9%87%8C%E5%8C%96}</h2> <p>当函数有多个参数的时候我们对函数进行改造并返回一个函数,只传入部分参数,只到函数执行完毕<code>f(1,2,3) ==> f(1)(2)(3)</code></p> <ul> <...
Pointfree {#pointfree} ---------------------- Point-free是一种编程风格,这是一种在函数里面实际上没有写任何东西的函数编写方式,这种方式可以将一个函数与其他函数一起生成一个新的函数。我们可以把数据处理的过程定义成与数据无关的合成运算,不需要用到代表数据的那个参数,只要把简单的运算步骤聚合成一起,在使用这种模式之前我们需要定...
闭包 {#%E9%97%AD%E5%8C%85} ------------------------ > [闭包(closure)](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用的组合。换而言之,...
<h1>函数试编程范式 {#%E5%87%BD%E6%95%B0%E8%AF%95%E7%BC%96%E7%A8%8B%E8%8C%83%E5%BC%8F}</h1> <h2>为什么学习函数式编程 {#%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AD%A6%E4%B9%A0%E5%87%BD%E6%95%B0%E5%BC%8...