Underscore.js _.curry()方法r返回给定的咖喱版本函数。如果相反如果为true,则会从右到左处理参数。
用法:
_.curry( fun, reverse )
参数:该方法采用上面列出的和下面讨论的两个参数。
- fun:这是给定的函数。
- reverse:它是一个可选参数,它确定参数是否要反转
返回值:它返回该函数的当前版本。
注意:要执行以下示例,必须使用此命令提示符安装underscore-contrib库,并执行以下命令。
npm install underscore-contrib
范例1:
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Function
function fun(a, b, c, d){
return a + b + c + d;
}
// Making curried function
var gfgFunc = _.curry(fun);
// Only operates for arguments same
// as the number in function
console.log("Addition is:",
gfgFunc(2)(23)(2)(3));
// Not adds for less arguments
console.log(gfgFunc(1)(2));
输出:
Addition is:30 [Function:mustBeUnary]
范例2:
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Function
function fun(a, b, c) {
return a * b * c;
}
// Making curried function
var gfgFunc = _.curry(fun);
// Only operates for arguments same
// as the number in function
console.log("Multiplication is:",
gfgFunc(2)(23)(2));
// Not multiplies for less arguments
console.log(gfgFunc(1)(2));
输出:
Multiplication is:92 [Function:mustBeUnary]
范例3:参数从右到左处理为reversed = true。
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Function
function fun(a, b, c){
return arguments;
}
// Making curried function
var gfgFunc = _.curry(fun,true);
// Only operates for arguments same
// as the number in function
console.log("curried arguments are:",
gfgFunc("arg1")("arg2")("arg3"));
输出:参数以相反的顺序存储。
curried arguments are:[Arguments] { '0':'arg3', '1':'arg2', '2':'arg1' }
范例4:参数从左到右处理为reversed = false。
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
// Function
function fun(a, b, c){
return arguments;
}
// Making curried function
var gfgFunc = _.curry(fun,false);
// Only operates for arguments same
// as the number in function
console.log("curried arguments are:",
gfgFunc("arg1")("arg2")("arg3"));
输出:
curried arguments are:[Arguments] { '0':'arg1', '1':'arg2', '2':'arg3' }
相关用法
- Lodash _.curry()用法及代码示例
- Lodash _.method()用法及代码示例
- Node.js Http2ServerRequest.method用法及代码示例
- Node.js http.IncomingMessage.method用法及代码示例
- Javascript dataView.getInt16()用法及代码示例
- Javascript RegExp toString()用法及代码示例
- Node.js URLSearchParams.has()用法及代码示例
- JavaScript Math cosh()用法及代码示例
- HTML DOM isEqualNode()用法及代码示例
- JavaScript Date toLocaleTimeString()用法及代码示例
- Node.js crypto.createHash()用法及代码示例
- Node.js writeStream.clearLine()用法及代码示例
- Node.js fs.link()用法及代码示例
- JavaScript Math random()用法及代码示例
- JavaScript Math round()用法及代码示例
- Javascript toString()用法及代码示例
- Javascript Number.isInteger( )用法及代码示例
- Javascript Number.isFinite()用法及代码示例
- Javascript toFixed()用法及代码示例
- Javascript toPrecision()用法及代码示例
- JavaScript Math abs()用法及代码示例
- JavaScript Math sqrt()用法及代码示例
注:本文由纯净天空筛选整理自taran910大神的英文原创作品 Underscore.js _.curry() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。