`
tiantian-yuqing
  • 浏览: 23678 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

chain的用法

阅读更多
    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后,每次使用方法的时候不需要每次都重新定义一个变量。是不是很简洁好看呢?
分享到:
评论

相关推荐

    Bayesian and Markov chain

    《Bayesian and Markov chain》文章中通过一系列示例介绍了如何使用PyMC来构建和分析模型。首先,通过定义随机变量和确定性变量来构建模型结构;然后,利用MCMC算法对模型进行拟合,从而得到参数的后验分布;最后,...

    commons chain api

    在本篇文章中,我们将深入探讨Commons Chain的基本概念、主要组件以及如何使用它来构建应用程序。 1. **基本概念** - **Chain**:Chain 是一系列Command的容器,它们按照预定义的顺序执行。每个Chain可以有多个...

    前端开源库-bench-chain

    3. **使用原生方法**:JavaScript的原生方法通常经过优化,性能优于自定义实现。 4. **异步处理**:对于耗时操作,考虑使用异步处理,避免阻塞主线程。 总的来说,`bench-chain`是前端开发者手中的一把利器,它能...

    前端开源库-script-chain

    在这个主题下,我们将深入探讨"script-chain"的特点、用法以及其在前端开发中的实际应用。 首先,"script-chain"这个名字暗示了它可能是一种基于链式调用的脚本管理工具。在JavaScript中,链式调用是一种常见的编程...

    前端开源库-chain-able

    在"chain-able"库中,开发者可以定义一系列可以链接在一起的方法,每个方法执行完毕后返回对象本身,从而实现链式调用。这样的设计让代码的结构更加清晰,降低了复杂性。例如,我们可能有一个数据处理的链式流程,...

    jdchain-starter:快速使用JDChain

    由于版本发展原因,已经提供了新的 Quick-Start 样例代码,因此已停止维护此仓库代码。 新的 Quick-Start 样例代码位于:上手JD Chain开发。

    config-chain:一劳永逸地处理配置

    通常,我们建议使用代替,但是由于依赖于此,因此无法更改。 安装 yarn add config-chain # npm users npm install --save config-chain 用法 const cc = require ( 'config-chain' ) ; console . log ( cc . env ...

    task-chain:小型库,用于任务链模式

    用法 <?php require __DIR__ . '/vendor/autoload.php' ; use TaskChain \ TaskChain ; use TaskChain \ TaskInterface ; $ chain = new TaskChain (); /** * Class TaskAdd */ class TaskAdd implements ...

    test chain

    6. **Markov Chain Monte Carlo (MCMC)**:这是一种使用马尔科夫链来抽样高维空间的方法,常用于统计推断,如贝叶斯统计中的后验分布采样。 以上就是对马尔科夫链的基本介绍,具体到“░¿Ñiñ╥├∞- Markov ...

    Chain_of_trust.pdf

    在计算机安全领域,Chain of Trust 是一种建立从最终实体到根证书的每个硬件和软件组件的验证机制,目的是确保只有可信的软件和硬件能够被使用,同时保持系统的灵活性。这个概念在嵌入式系统,尤其是自动驾驶和无人...

    optional-chain:TypeTypeScript中的可选链接实现

    使用要求该库需要TS 2.8+版本才能使用安装npm install optional-chain用法 import { optional } from "optional-chain" ;type User = { name ?: { first : string }}const user : User = getUser ( ) ; // { name: ...

    Chain code _chain_Modified_

    链码(Chain code)是一种在图像处理和计算机视觉领域中广泛使用的编码技术,它通过跟踪边界像素来表示图像的形状和轮廓。在这个特定的主题“Chain code _chain_Modified_”中,我们关注的是对原始链码编码方法的一...

    critical chain project management.

    关键链项目管理(Critical Chain Project Management,CCPM)是一种创新的项目管理方法,它由埃利亚胡·戈德拉特博士提出,最初用于生产运作的优化,后经改进应用到项目管理中。CCPM的核心思想是把项目管理的焦点从...

    链表chain的实现

    这个过程可以使用迭代或递归方法实现: - **迭代**:从两个链表的头节点开始比较,较小的元素被添加到结果链表中,直到其中一个链表为空。然后,将非空链表作为结果链表的剩余部分。 - **递归**:如果一个链表为空...

    kue-chain:Chain Kue职位

    使用 Kue 我发现我系统中的大多数新作业都是在对其他一些作业完成的React后创建的。 在实现了一些辅助函数之后,它变得更好了一点,但它仍然在管理作业排序的代码中留下了很多重复的部分。 所以我走得更远,使正在...

    单链表chain.zip

    4. 缓存管理:LRU(最近最少使用)缓存策略中,常用链表记录缓存项的使用情况。 总结,单链表作为一种基本的数据结构,其灵活性和动态性使得它在解决各种问题时都能发挥重要作用。了解和熟练掌握单链表的原理和操作...

    Boosting Chain Learning for Object Detection

    ### 提升链(Boosting Chain)在目标检测中的应用 #### 概述 提升链(Boosting Chain)是一种被提出用于目标检测问题的通用分类框架。该方法的主要贡献在于引入了一个“链式”结构,旨在将历史知识整合到连续的...

    No Cortex-M Device found in JTAG chain.的解决

    在排查以上问题时,建议使用分步诊断的方法,先从最简单的硬件检查开始,逐步深入到固件和软件层面。对于开发过程中遇到的这类问题,及时记录并总结解决方案,可以提高以后的开发效率,避免重复的错误。此外,理解...

    javascript作用域链(Scope Chain)用法实例解析

    本文实例分析了javascript作用域链(Scope Chain)用法。分享给大家供大家参考,具体如下: 关于js的作用域链,早有耳闻,也曾看过几篇介绍性的博文,但一直都理解的模棱两可。近日又精心翻看了一下《悟透Javascript》...

    Daisy Chain AVB

    标题:“Daisy Chain AVB”(菊花链AVB)涉及到的是一种技术架构的应用,特别是在使用AVB(Audio Video Bridging,音频视频桥接)技术通过以太网传输音频和其他实时内容时,如何利用菊花链方式连接设备。这种方法...

Global site tag (gtag.js) - Google Analytics