高阶函数
定义
一个函数的参数是函数,那么这个函数就是高阶函数。数组的遍历方法就是高阶函数,如:forEach
、map
等等。
细节
- 保持纯函数,减少函数副作用;
- 回调函数要使用
call
或apply
绑定this
;
手写数组函数
forEach
function myForEach(arr, cb) {
for (let i = 0; i < arr.length; i++) {
cb.call(arr, arr[i], i, arr);
}
}
map
function myMap(arr, cb) {
const result = [];
for (let i = 0; i < arr.length; i++) {
result.push(cb.call(arr, arr[i], i, arr));
}
return result;
}
reduce
function myReduce(arr, cb, init) {
let result = arr[0];
let i = 1;
if (init) {
i = 0;
result = init;
}
for (; i < arr.length; i++) {
result = cb.call(arr, result, arr[i], i, arr);
}
return result;
}
分类:
函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通