chain的用法 chain
程序员文章站
2022-07-02 13:19:08
...
chain,链条,用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后,每次使用方法的时候不需要每次都重新定义一个变量。是不是很简洁好看呢?