记 2024-01-31 函数科里化

函数科里化是指,函数传递多个参数改为传递一个参数,利用js 闭包原理,每次返回新函数,达到收集足够参数来执行原函数

        function currying(length){
			let nums = []
			function sum(...args){
				nums.push(...args)
				if(nums.length >= length){
					let res = nums.splice(0,length).reduce((m,n)=>m+n,0)
					nums = []
					return res
				}else{
					return sum
				}
			}
			return sum
		}
		let add = currying(4)
		console.log(add(1,2,3,4,5))

你可能感兴趣的:(javascript,前端,开发语言)