小胖墩er 小胖墩er
首页
  • 前端文章

    • JavaScript
    • Vue
    • ES6
    • Git
  • Vue
  • React
  • HTML
  • CSS
  • 工具类
  • GitHub技巧
  • 博客搭建
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

小胖墩er

Better later than never.
首页
  • 前端文章

    • JavaScript
    • Vue
    • ES6
    • Git
  • Vue
  • React
  • HTML
  • CSS
  • 工具类
  • GitHub技巧
  • 博客搭建
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工具类

  • 问题技巧以及优化

    • 问题总结

      • 多条件的if语句
      • 封装 element-ui 右下角弹窗
      • 动态的type
      • 判断一个对象是否为空
      • 定时器的使用与销毁问题
      • Set和Map
      • Object-assign
      • fastClick的300ms延迟解决方案
      • input样式问题
      • NODE_ENV不是内部或外部命令
      • 深拷贝
    • 优化技巧

  • 博客搭建

  • GitHub技巧

  • 技术
  • 问题技巧以及优化
  • 问题总结
小胖墩er
2021-10-21

深拷贝

当对数据进行更改的时候,刚好这份数据也用于渲染,可能会引发页面的渲染出错。这时候可以拷贝一份数据再进行操作。

deepClone(obj) {
  let objClone = Array.isArray(obj) ? [] : {};
  if (obj && typeof obj === "object") {
    for (let key in obj) {
      // Object.prototype.hasOwnProperty.call(obj, key)
      if (obj.hasOwnProperty(key)) {
        //判断ojb子元素是否为对象,如果是,递归复制
        if (obj[key] && typeof obj[key] === "object") {
          objClone[key] = this.deepClone(obj[key]);
        } else {
          //如果不是,简单复制
          objClone[key] = obj[key];
        }
      }
    }
  }
  return objClone;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
在线编辑 (opens new window)
#技巧总结
上次更新: 2021/11/14, 07:48:46
NODE_ENV不是内部或外部命令
axios发送get请求url传递字符时需要进行编码

← NODE_ENV不是内部或外部命令 axios发送get请求url传递字符时需要进行编码→

最近更新
01
毛玻璃效果
11-23
02
svg基本绘制
11-23
03
滑动登录界面
11-23
更多文章>
🖥️

© 2021 小胖墩er 💌 粤ICP备2021158933号 🛀 Theme by 💝 Vdoing

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×