Redbattle
踩坑
环境
项目
配置
知识点
踩坑
环境
项目
配置
知识点
  • 浏览器/网络
  • HTML
  • CSS
  • JS
  • Vue
  • ES6
  • TS
  • 格式化上下文
  • 工程化
  • 常用 Web 坐标转换
  • 算法
  • 安全性
  • CSS 选择器
  • CSS 函数
  • CSS 属性
  • CSS @
  • CSS 过渡与动画
  • CSS 预处理器
  • knowledge
2022-01-21

算法

  • 单例

  • 链表

    - 火车形式,头部不储存数据
    - 链表节点有data和next,data储存数据,next指向下一个节点的地址
    
  • 模拟实现localStorage

  • 二分查找

  • 排序

    • sort()实现
    • 冒泡
      - 双循环
      - 每一轮从第0个数开始,比较当前值和后一位的值大小,大于则交换位置
      
    • 快速
      - 先取中间值
      - 依次取值与中间值比较,小于放左边,大于放右边
      
    • 插入
      - 先取一位数放在新数组里
      - 新取一位数依次与新数组的值进行比较,如果比新数组比较值大,则放到新数组比较值的前面
      
  • 数据结构

    - 斐波那契数列,前一项加后一项的和等于第三项的值
        - 循环算出数组最后两位的和,并返回,直到最后一层
        - 递归返回函数以当前项和下一项的值作为参数
    
  • DFS,BFS,Trie

  • 数组去重

    - Set,[...new Set(arr)]
    - for循环+indexOf,拿当前的值,如果新数组里不含当前值,则放到新数组
    - 双循环,用splice删除相同的值
    - 先排序,对相邻项进行正则分组匹配,处理相同数据
    - filter+indexOf,原数组中的第一个索引等于当前索引,则返回当前元素
    
  • 数组扁平化

    - es6中,arr.flat(级数),Infinity表示无限级
    - 无递归数组扁平化,使用堆栈 stack
    - 使用 reduce 与 concat 
    - 递归判断是否含数组,如果含有数组,则使用concat解一层
    

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/flat

  • 拖拽

    - 给需要拖拽的节点绑定mousedown,mousemove,mouseup事件
    - mousedown事件触发够开始拖拽
    - mousemove时需要通过event.clientY和event.clientY来确定拖拽位置,并实时更新位置
    - mouseup拖拽结束
    - 需注意浏览器边界的情况
    
最近更新
01
烧虾球
05-13
02
二次开发
12-20
03
文字展开收起
10-17
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式