游戏陪玩app开发,必须知道的拷贝代码

游戏陪玩app开发,必须知道的拷贝代码

(数组/对象)(深/浅)拷贝

复制代码
let list = [{ name: "o" }];
let obj = { stu: { name: "o" } };

// 数组浅拷贝
let listCopy1 = [].concat(list);
let listCopy2 = list.slice();
let listCopy3 = Array.from(list);
let listCopy4 = [...list];

// 对象浅拷贝
let objCopy1 = Object.assign({}, obj);
let objCopy2 = { ...obj };

// 数组|对象深拷贝
let listCopy = JSON.parse(JSON.stringify(list));
let objCopy = JSON.parse(JSON.stringify(obj));

// 深拷贝,即复制并独立一份数据,操作不影响原数据
function deepCopy(obj) {
  if (typeof obj !== "object") {
    return obj;
  }
  let result = Array.isArray(obj) ? [] : {};
  for (let i in obj) {
    if (obj.hasOwnProperty(i)) {
      if (typeof obj[i] === "object" && obj[i] !== null) {
        result[i] = deepCopy(obj[i]);
      } else {
        result[i] = obj[i];
      }
    }
  }
  return result;
}

// 深拷贝
function deepClone(obj) {
  let copyObj = null;
  if (typeof obj === "object" && obj !== null) {
    copyObj = Array.isArray(obj) ? [] : {};
    for (let i in obj) {
      copyObj[i] = deepClone(obj[i]);
    }
  } else {
    copyObj = obj;
  }
  return copyObj;
}
复制代码

 

以上就是游戏陪玩app开发,必须知道的拷贝代码, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2023-07-13 视频直播源码,搜索页面布局(Wrap组件)
2023-07-13 直播平台源代码,Silder(滑块,进度条)使用详解
2023-07-13 直播软件源码,Flutter中导航栏和状态栏设置成透明
2022-07-13 直播app源码,弹窗形式实现页面内点击进入详情
2022-07-13 短视频app开发,左滑删除或长按弹出删除选择框
2022-07-13 短视频直播源码,React children组件实例提示框
2021-07-13 小视频app源码,Android进度条ProgressBar颜色的渐变设置
点击右上角即可分享
微信分享提示