📅  最后修改于: 2023-12-03 15:32:44.948000             🧑  作者: Mango
Lodash 是 JavaScript 的实用工具库,提供了很多简化开发过程的方法和函数。其中 _.thru() 方法是 Lodash 的一个链式方法,可以在链式调用中运行函数并返回源对象。
_.thru(value, interceptor)
value
(*):需要处理的值。interceptor
(Function):在处理过程中运行的函数。返回函数返回的结果,如果函数没有返回值,则返回源对象。
const result = _.chain([1, 2, 3])
.map(n => n * 2)
.thru(arr => {
arr.pop();
return arr;
})
.value();
console.log(result); // [2, 4]
const obj = { foo: 'bar' };
const modifiedObj = _.thru(obj, o => {
o.baz = 'qux';
});
console.log(modifiedObj); // { foo: 'bar', baz: 'qux' }
在上面的例子中,我们使用了 _.thru() 方法的两个不同的用法。在第一个例子中,我们使用了链式调用,对一个数组进行了 map 和 pop 操作,然后使用 _.thru() 方法将数组返回,最后得到了 [2,4]。在第二个例子中,则是直接运用 _.thru() 方法修改了一个对象并返回。
值得注意的是,使用 _.thru() 方法不会改变源对象或数组,而是返回一个新的对象或数组。
Lodash _.thru() 方法可以在链式调用中运行函数并返回源对象,也可以直接运用于一个对象或数据。使用 _.thru() 方法不会改变源对象或数组,而是返回一个新的对象或数组。