_.overArgs(func, [transforms=[_.identity]])
_.overArgs(func, [transforms=[_.identity]]) 创建一个函数,该函数接受一组转换函数,并将这些转换函数应用于传入的参数列表,然后将转换后的参数传递给原始函数。
func:要转换参数的原始函数。transforms(可选):要应用的转换函数数组,默认为[_.identity],表示不做任何转换。
示例:
// 定义一个原始函数
function greet(firstName, lastName) {
return `Hello, ${firstName} ${lastName}!`;
}
// 定义转换函数,将名字转换为大写
function toUpperCase(str) {
return str.toUpperCase();
}
// 创建一个转换参数的函数
const greetWithUpperCase = _.overArgs(greet, [toUpperCase, toUpperCase]);
// 调用转换参数的函数
console.log(greetWithUpperCase("john", "doe")); // 输出:Hello, JOHN DOE!
在这个例子中,greetWithUpperCase 函数接受传入的参数,并应用转换函数 toUpperCase 将名字转换为大写,然后将转换后的参数传递给原始的 greet 函数。
相关内容
- 介绍 Lodash:简化 JavaScript 编程,提供高效的集合操作和函数式编程支持。
- \_.chunk(array, [size=1]) _.chunk(array, [size=1]) 创建一个元素数组,将其分为长度为 size 的组。 如果数组不能均匀分割,则最终的块将是剩余的元素。
- \_.compact(array) _.compact(array) 创建一个删除所有错误值的数组。 值 false、null、0、""、undefined 和 NaN 均为 false。
- \_.concat(array, [values]) _.concat(array, [values]) 创建一个新数组,将数组与任何其他数组和/或值连接起来。
- \_.difference(array, [values]) _.difference(array, [values]) 使用 SameValueZero 进行等价比较,创建一个数组,其中的数组值不包含在其他给定数组中。结...
- \_.differenceBy(array, [values], [iteratee=_.identity]) .differenceBy(array, [values], [iteratee=.identity]) 该方法与 _.difference 类似,但它接受 i...