當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。