当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


underscore.js _.curry()用法及代码示例


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' }

相关用法


注:本文由纯净天空筛选整理自taran910大神的英文原创作品 Underscore.js _.curry() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。