近期更新完,后面不定期更新,建议关注收藏点赞。
目录
- 快排
- 手写防抖节流
- 数组扁平化(要求使用 reduce 方法)
- 数组filter实现
- 手写一个加载图片的函数 loadImage
- 手写Promise then
- 手写 Promise.All
- 手写 Promise.race
- 手写allsettled
- 手写usecontext传值
- 手写call/apply/bind
- 手写深拷贝
- 手写监听事件on和触发事件emit
- 多维数组展开
- 手写柯里化
- 正则表达式
快排
手写防抖节流
数组扁平化(要求使用 reduce 方法)
数组filter实现
手写一个加载图片的函数 loadImage
手写Promise then
手写 Promise.All
手写 Promise.race
手写allsettled
手写usecontext传值
手写call/apply/bind
手写深拷贝
手写监听事件on和触发事件emit
多维数组展开
- 实现 flattenByDepth 函数。这个函数会按照指定的深度展开嵌套数组, 可以使用递归或迭代方式 需要考虑 depth 为 0 或负数的情况 注意不要修改原数组。简单实现 const flat = (arr,n)=>{ if(n<=0) return […arrr] let res = [] arr.forEach(item=>{ if(Array.isArray(item)){ res = […res,…flat(item,n-1)] }else{ res.push(item) } }) return res } 另一种实现 const flat = (arr,n)=>{ if(n<=0) return arr return arr.reduce((pre,cur)=>{ if(Array.isArray(cur)){ return pre.concat(flat2(cur,n-1)) }else{ return pre.concat(cur) } },[]) }
手写柯里化
手撕柯里化,一个四个参数的函数,函数处理变成柯里化函数。
正则表达式
^(?!wiki$)(?!tags$).+ //既不是wiki 也不是tags 这些词