美文网首页
定义颗粒度函数

定义颗粒度函数

作者: 踏雪_739a | 来源:发表于2020-05-26 18:47 被阅读0次
// 定义颗粒度函数   当颗粒度参数总个数小于调用函数的参数个数就 生成函数 直到总参数个数相等调用原函数
function currying(callback, arr = []){
    let argsNumber = callback.length
    return (...args)=>{
        let newArr = [...arr, ...args]
        if(newArr.length < argsNumber){
            return currying(callback, newArr)
        }else{
            return callback(...newArr)
        }
    }
}

function sum(a,b,c,d,e){
    return a+b+c+d+e
}

let res = currying(sum)(1,2)(3,4)(5)
console.log(res)


function isTpye(type,value){
    return Object.prototype.toString.call(value) === `[object ${type}]`
}

let isArr = currying(isTpye)("Array")

let isArr0 = isArr([1,2])
let isArr1 = isArr('sss')
console.log(isArr0)
console.log(isArr1)

相关文章

  • 定义颗粒度函数

  • 信息检索导论二:词项词典及倒排记录表

    文档单位选择 粒度定义:粒度是衡量文本所含信息量的大小。文本含信息量多,粒度就大,反之就小。小粒度:“缠绵”,“崎...

  • 时间颗粒度

    刚才读到一个概念:时间颗粒度。 那么,什么是时间颗粒度呢? 有老师做了定义:“时间颗粒度,就是一个人安排时间的基本...

  • 38.网关限流-API分组维度

    自定义API分组 自定义API分组是一种更细粒度的限流规则定义

  • QCustomPlot之数据选择(十八)

    数据选择粒度 可以通过函数QCPAbstractPlottable::setSelectable(所有的图表类都继...

  • 函数

    定义:具有特定功能的代码段 函数可分为:①库函数②自定义函数 函数定义:在 main函数 外面定义 自定义函数还可...

  • Kotlin Function vs Lambda

    函数定义方式: Lambda定义方式: 高阶函数定义: 高阶函数使用:

  • 廖雪峰的JS教程2.1-函数

    函数 函数的定义和调用 定义函数 上述abs()函数的定义如下: function指出这是一个函数定义; abs是...

  • 深入理解JavaScript函数

    JavaScript中的函数 1. 函数的定义 两种定义形式:通过函数定义表达式来定义通过函数声明语句来定义 函数...

  • JS 函数

    函数有三种定义方式 函数声明 函数表达式 函数实例化 区别: 函数声明定义特点:函数定义会被前置;重复定义函数时,...

网友评论

      本文标题:定义颗粒度函数

      本文链接:https://www.haomeiwen.com/subject/rhgvahtx.html