underscore学习笔记—链式语法/Chaining
来源:互联网 发布:app编程入门 编辑:程序博客网 时间:2024/05/01 22:03
1.5.2版本
以下两种风格实现的效果相同
_.map([1, 2, 3], function(n){ return n * 2; });_([1, 2, 3]).map(function(n){ return n * 2; });对一个对象使用 chain 方法, 会把这个对象封装并 让以后每次方法的调用结束后都返回这个封装的对象, 当您完成了计算, 可以使用 value 函数来取得最终的值. 以下是一个同时使用了 map/flatten/reduce 的链式语法例子, 目的是计算一首歌的歌词里每一个单词出现的次数.
var lyrics = [ {line: 1, words: "I'm a lumberjack and I'm okay"}, {line: 2, words: "I sleep all night and I work all day"}, {line: 3, words: "He's a lumberjack and he's okay"}, {line: 4, words: "He sleeps all night and he works all day"}];_.chain(lyrics) .map(function(line) { return line.words.split(' '); }) .flatten() .reduce(function(counts, word) { counts[word] = (counts[word] || 0) + 1; return counts; }, {}) .value();=> {lumberjack: 2, all: 4, night: 2 ... }此外, 数组原型方法 也通过代理加入到了链式封装的Underscore对象, 所以您可以 在链式语法中直接使用 reverse 或 push 方法, 然后再接着其他的语句.
chain(返回一个封装的对象)
_.chain(obj)
返回一个封装的对象. 在封装的对象上调用方法会返回封装的对象本身, 直到 value 方法调用为止.
var stooges = [{name: 'curly', age: 25}, {name: 'moe', age: 21}, {name: 'larry', age: 23}];var youngest = _.chain(stooges) .sortBy(function(stooge){ return stooge.age; }) .map(function(stooge){ return stooge.name + ' is ' + stooge.age; }) .first() .value();=> "moe is 21"
value(获取封装对象的最终值)
_.(obj).value
_([1, 2, 3]).value();=> [1, 2, 3]
0 0
- underscore学习笔记—链式语法/Chaining
- AngularJS的链式(chaining)语法
- 链式语法—学习
- underscore学习笔记—数组函数/Arrays
- underscore学习笔记—实用功能/Utility
- underscore学习笔记—更新日志
- underscore.js学习笔记
- underscore.js学习笔记
- underscore.js学习笔记
- Underscore 源码学习笔记
- 对照Java学习Swift--可选链式调用(Optional Chaining)
- Underscore.js API 学习笔记
- underscore学习笔记—集合函数/collections(一)
- underscore学习笔记—集合函数/collections(二)
- underscore学习笔记—对象函数/Objects(一)
- underscore学习笔记—对象函数/Objects(二)
- underscore学习笔记—与函数有关的函数/Function
- 9.jquery (Chaining)链式操作
- hdu 4240 Route Redundancy 网络流
- 汉诺塔
- 灯火阑珊处等你回眸
- erlang函数说明及使用范例
- iOS-NSDateFormatter 格式说明
- underscore学习笔记—链式语法/Chaining
- WPF--的BeginStoryboard用法
- hibernate update和delete方法无效
- JPEG图像的解压缩操作
- 算法作业2
- 异常安全的赋值运算符重载函数 C++ String实现
- KVM优化
- SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)
- ssh 完整