我正在寻找一个 lodash(或下划线)函数,它将返回.tap
.
我想要这样的东西:
var run = function(collection, fn) {
return fn(collection);
};
_.mixin({run: run});
我希望我忽略了文档中的某些内容,因此我不必创建自己的 mixin。
我正在寻找一个 lodash(或下划线)函数,它将返回.tap
.
我想要这样的东西:
var run = function(collection, fn) {
return fn(collection);
};
_.mixin({run: run});
我希望我忽略了文档中的某些内容,因此我不必创建自己的 mixin。
你可以像这样创建一个通用的 mixin:
function add(a, b, c) {
return a + b + c
}
function sub(a, b, c) {
return a - b - c
}
_.mixin({
run: function (v, f) {
var args = Array.prototype.slice.call(arguments, 2)
args.unshift(v)
return f.apply(this, args)
}
})
var r = _.chain(1).run(add, 1, 1).run(sub, 2, 2).value()
console.log(r) -> -1
1 + 1 + 1 - 2 - 2 = -1
您可以传递函数和附加参数。该函数将被调用,最后一个链操作的结果作为第一个参数,run
调用的附加参数。
在 lodash 中,您可以_.thru
从 v3 开始使用:
_.thru(value, interceptor, [thisArg])
_.tap
除了返回拦截器的结果之外,此方法与此方法类似。