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

你可能感兴趣的:(chain)