前端算法合集(持续收录)
1.实现一个compose方法(字节跳动2022.9.1面试)
核心在于,依次调用对列里的函数,每一次的返回存起来,作为下一个函数调用的参数,得到最终结果然后返回。
1.利用for循环
function compose(funcs){
let result //用于存储每次函数返回值
return function(param){
result = param
for(let i = 0; i<funcs.length; i++){
result = funcs[i](result) //返回值存起来,进入下一次循环
}
//循环结束后得到最终的result
return result
}
}
1.利用forEach
function compose(funcs){
let result //用于存储每次函数返回值
return function(param){
result = param
funcs.forEach(item=>{
result = item(result)
})
return result
}
}
3.利用reduce
function compose(funcs){
return function(param){
return funcs.reduce((pre,cur)=>{
return cur(pre)
},param)
}
}