首页 > 其他分享 >js Curry 函数科里化

js Curry 函数科里化

时间:2023-03-09 12:22:19浏览次数:32  
标签:function return 函数 args js Curry 科里 fn

 

 

https://mp.weixin.qq.com/s?__biz=MzAwNjI5MTYyMw==&mid=2651501763&idx=1&sn=cfe7920ad3a966ef995049cff6bfa1fa&chksm=80f1bd0bb786341dd00ccd2baedaafedbc5cdecc846109f278786fc74929d07c51cc08589959&scene=126&sessionid=1678330049#rd

 

Curry 化是一种将多参数函数转换为单参数函数的技术

 

 

function curry(fn){
  return function curried(...args){
    if(args.length >= fn.length){
      return fn.apply(this, args);
    } else {
      return function(...rest){
        return curried.apply(this, args.concat(rest));
      };
    }
  };
}
function add(x, y, z){
  return x + y + z;
}
const curriedAdd = curry(add);
console.log(curriedAdd(1)(2)(3));

 

标签:function,return,函数,args,js,Curry,科里,fn
From: https://www.cnblogs.com/angdh/p/17197927.html

相关文章

  • Windows 安装 Node.js 版本控制器 nvm
    参考文档:https://blog.csdn.net/MJOY791270505/article/details/126400205nvm的安装和使用(详细)_nvm安装_深沉影子灰的博客-CSDN博客1.nvm是什么?node.jsversionman......
  • 谈谈JS中的this
    一、在js非严格模式、非箭头函数下,不看函数在哪里定义,不看是怎么定义,只看函数的调用方式即想知道this指向,就要看this哪个函数,这个函数是怎么调用的 普通调用调用方......
  • js去重
    1.使用ES6的Set去重//Set是ES6中新增的数据类型,它可以帮助我们快速去重。将数组转化为Set之后,再转化回数组即可。```javascriptconstarr=[1,2,3,1,2,3];co......
  • utils&js - 判断数据类型
    utils&js-判断数据类型/***判断文件**如果你需要类型判断,请不要再使用Object.prototype.toString.call()方法*直接调用我们下方封装好的is函数即可*我......
  • js文字转语音
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • node.js版本管理器——NVM
    在日常工作中,需同时开发好几个前端项目的时候,可能不同项目使用的node的版本也不一样,而一台电脑只能安装和同时使用一个版本的node,这个时候我们需要借助NVM来管理node的版本......
  • 【转载】node服务开发和服务器部署(node.js+koa2+pm2+nginx)教程
    我为什么要写这篇文章昨天晚上有个小哥发维信给我,问我怎么部署一个node服务,有没有相关教程,我有点震惊,就问他有哪些不懂,他说几乎都不懂。我想他应该也是找过相关教程了......
  • 浏览器控制台引入css和js
    varimport_css=document.createElement('link');import_css.setAttribute("rel","stylesheet");import_css.setAttribute("href",'https://cdn.bootcdn.net/ajax/lib......
  • 基于JSP+javaBean的留言板--改进(附源码)
    一、系统的主要功能和特点系统主要实现了以JSP和JavaBean为基础的留言板。主要包括登录、登陆检查、增加留言、查看全部留言信息、查看指定留言信息等功能实现了数据的读......
  • Rocky Linux 9 安装 Node.js
    一、概要1.环境(1)RockyLinux9.1(2)Node.js16.0二、安装1.准备(1)更新仓库sudodnfupdate-y(2)安装NPM依赖的构建工具sudoyumgroupinstall'Deve......