7.1 chain
7.1.1 语法
_.chain(obj)
7.1.2 说明
返回一个封装的对象. 在封装的对象上调用方法会返回封装的对象本身, 直到value方法调用为止.
7.1.3 代码示例
var stooges = [{
name: 'curly',
age: 25
}, {
name: 'moe',
age: 21
}, {
name: 'larry',
age: 23
}];
var youngest = _.chain(stooges)
//排序
.sortBy('age')
//map
.map(function(stooge) {
return stooge.name + ' is ' + stooge.age;
})
//取第一个
.first()
//返回值
.value();
console.log(youngest); //=> moe is 21
7.1.4 源码展示
_.chain = function(obj) {
var instance = _(obj); //封装了对象
instance._chain = true;
return instance; //返回对象
};
7.1.5 两种方式的区别
var stooges = [{
name: 'curly',
age: 25
}, {
name: 'moe',
age: 21
}, {
name: 'larry',
age: 23
}];
//包装一个对象,执行对象上的方法
_(stooges).min('age'); //=>Object {name: "moe", age: 21}
//一个方法,传入对象和参数
_.min(stooges, 'age'); //=>Object {name: "moe", age: 21}