5.17 tap
5.17.1 语法
_.tap(object, interceptor)
5.17.2 说明
用 object作为参数来调用函数interceptor,然后返回object。这种方法的主要意图是作为函数链式调用 的一环, 为了对此对象执行操作并返回对象本身。
5.17.3 代码示例
示例一:单独用法
//执行了alert([1, 2])并返回了[1, 2]
//不过意义不是很大
_.tap([1, 2], alert); //=> [1, 2]
示例二:在链式中使用
_.chain([-1, -2, -3, -4])
.filter(function(v) {
return v & 1;
})
.tap(alert) //弹出[-1, -3],并返回原先的对象
.map(Math.abs) //变成绝对值
.value(); //=> [1, 3]
5.17.4 源码展示
//其实就是这么简单, 没什么好说的。
_.tap = function(obj, interceptor) {
interceptor(obj);
return obj;
};
5.17.5 传入一个数组,去掉最后一个,然后反转 (坑)
var list = [1, 3, 5, 7]
var result = _.chain(list)
//写下一些代码
console.log(result); //=> [5, 3, 1]