chain,链条,用chain可以使我们的代码变得简单。以下面代码为例,找到三个人中年龄最小的人的名字和年龄。体会一下chain的好处。
如果不使用chain的话,就会是这样:
var stooges =
[{name: 'curly', age: 25}, {name: 'moe', age: 21}, {name: 'larry', age: 23}];
var a = _(stooges).sortBy(’age‘);
var b = _(a).map(function(stooge){ return stooge.name + ' is ' + stooge.age; }) //["moe is 21", "larry is 23", "curly is 25"]
var c = _(b).first() //moe is 21
这样会不会有点麻烦呢?你注意到没有,整个代码就像一条链一样,每个变量都是对上一个变量运用一个方法,这样重复进行。有没有简单点的方法不需要这样定义多个变量呢?当然有啦!
var stooges =
[{name: 'curly', age: 25}, {name: 'moe', age: 21}, {name: 'larry', age: 23}];
var youngest = _.chain(stooges)
.sortBy(’age‘)
.map(function(stooge){ return stooge.name + ' is ' + stooge.age; }) //["moe is 21", "larry is 23", "curly is 25"]
.first() //moe is 21
.value(); //chain结束的标志.
从上面的代码可以看出来,用上chain后,每次使用方法的时候不需要每次都重新定义一个变量。是不是很简洁好看呢?
分享到:
相关推荐
由于版本发展原因,已经提供了新的 Quick-Start 样例代码,因此已停止维护此仓库代码。 新的 Quick-Start 样例代码位于:上手JD Chain开发。
通常,我们建议使用代替,但是由于依赖于此,因此无法更改。 安装 yarn add config-chain # npm users npm install --save config-chain 用法 const cc = require ( 'config-chain' ) ; console . log ( cc . env ...
用法 <?php require __DIR__ . '/vendor/autoload.php' ; use TaskChain \ TaskChain ; use TaskChain \ TaskInterface ; $ chain = new TaskChain (); /** * Class TaskAdd */ class TaskAdd implements ...
使用 Kue 我发现我系统中的大多数新作业都是在对其他一些作业完成的React后创建的。 在实现了一些辅助函数之后,它变得更好了一点,但它仍然在管理作业排序的代码中留下了很多重复的部分。 所以我走得更远,使正在...
Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在这种情况下,攻击者无需知道安全信息(例如密钥)。 RNG / TRNG / ...
本文实例分析了javascript作用域链(Scope Chain)用法。分享给大家供大家参考,具体如下: 关于js的作用域链,早有耳闻,也曾看过几篇介绍性的博文,但一直都理解的模棱两可。近日又精心翻看了一下《悟透Javascript》...
使用要求该库需要TS 2.8+版本才能使用安装npm install optional-chain用法 import { optional } from "optional-chain" ;type User = { name ?: { first : string }}const user : User = getUser ( ) ; // { name: ...
安装npm install --save get-prototype-chain用法const getPrototypeChain = require ( 'get-prototype-chain' ) ;class A {}class B extends A {}class C extends B {}var obj = new C ( ) ;getPrototypeChain ( ...
用法 一个简单的例子: var validator = require('validator-chain'); function required(value) { return value !== ''; } function digits(value) { return /^[0-9]+$/.test(value); } function length(value)...
作者维尔纳·韦斯特罗斯安装与任何 Node 模块一样,使用安装它: $ npm install chain-of-command用法 var Chain = require ( 'chain-of-command' ) ;var chain = new Chain ( ) ;chain . execute ( "ls -l" ) . ...
安装npm i abstract-sequential-promise-chain用法在promise函数参数上调用AbstractSequentialPromiseChain函数以返回包装器。 import abstractSeqPromiseChain from "abstract-sequential-promise-chain" ;function...
MCMC方法就是*构造合适的马尔科夫链进行抽样而使用蒙特卡洛方法进行积分计算,既然马尔科夫链可以收敛到平稳分布。我们可以建立一个以π为平稳分布的马尔科夫链,对这个链运行足够长时间之后,可以达到平稳状态。此时...
您可以使用以下方法安装最新的编译器和工具链: make init 启动开发节点 结束进程后, make run命令将启动一个临时节点,并且其状态将被丢弃。 make run 运行持久的单节点链 使用以下命令来构建节点而不启动它: ...
文档详细的说明了在keil下使用JTAG的的方法,值得学习。
Api-chain 是一个非常轻巧且易于使用的界面,用于为异步 javascript 的控制流创建流畅的同步样式 API。 它通过 NPM 打包为 commonJS 模块,但不仅适用于 Node.js,而且已经过测试并适用于 PhantomJS。 方法可以...
SIM的KE-chain软件包与 (开源KE-chain python API)结合使用。 安装 用pip安装 kecpkg-tools作为通用轮子在上分发,并且在Linux / macOS和Windows上可用,并且支持Python 2.7 / 3.4 +和PyPy。 $ pip install --...
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:chain_call-0.0.2-py3.5.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
esformatter-jquery-chain 用于根据 jQuery 样式指南格式...用法通过 npm 安装: npm install esformatter-jquery-chain 然后将其添加到您的 esformatter 配置中: { " plugins " : [ " esformatter-jquery-chain " ]}
事件链 一种简单的方法来异步链接事件和控制程序流。 这是MIT许可下的一个开源项目...使用可以进行并且可以通过设置环境变量event-chain来启用它: env DEBUG=event-chain 原料药 chain.on(事件,回调) /** *