当前位置: 首页 > news >正文

网站集约化建设做法网站开发公司哪家好

网站集约化建设做法,网站开发公司哪家好,如何创建电商平台,多少工资🎀个人主页:努力学习前端知识的小羊 感谢你们的支持:收藏🎄 点赞🍬 加关注🪐 文章目录算法地址算法题解分析深拷贝与浅拷贝在练习算法时,遇到了深拷贝与浅拷贝的问题,于是就了解了一…

🎀个人主页:努力学习前端知识的小羊
感谢你们的支持:收藏🎄 点赞🍬 加关注🪐

文章目录

    • 算法地址
    • 算法题解
    • 分析深拷贝与浅拷贝

在练习算法时,遇到了深拷贝与浅拷贝的问题,于是就了解了一番

算法地址

浅拷贝
深拷贝

算法题解

浅拷贝

const _shallowClone = target => {// 补全代码let copyRes=Array.isArray(target)?[]:{}for(let key in target){copyRes[key]=target[key]}return copyRes
}

深拷贝

 const _completeDeepClone = (target, map = new Map()) => {  // 补全代码if(target === null) return targetif(typeof target !== 'object') return targetconst constructor = target.constructorif(/^(Function|RegExp|Date|Map|Set)$/i.test(constructor.name)) return new constructor(target)   //进行深拷贝,不能传递地址if(map.get(target)) return map.get(target)  //已经遍历到了,直接返回结果map.set(target, true)   //还未遍历,设置为trueconst cloneTarget = Array.isArray(target) ? [] : {}for(prop in target) {       //开始遍历if(target.hasOwnProperty(prop)) {cloneTarget[prop] = _completeDeepClone(target[prop], map)}}return cloneTarget}

分析深拷贝与浅拷贝

浅拷贝

浅拷贝:自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址,肯定会影响到另一个对象。

实现浅拷贝,可以直接通过Object.assign方法实现

const obj = {};
const source = {name: 'nordon',info: {age: 18}
};Object.assign(obj, source);

注:该方法的第一个参数是拷贝的目标对象,后面的参数是拷贝的来源对象(也可以是多个来源)。

实现浅拷贝,也可以通过扩展运算符来实现

const source = {name: 'nordon',info: {age: 18}
};
const obj = {...source};

深拷贝

深拷贝作用在引用类型上!例如:Object,Array
深拷贝不会拷贝引用类型的引用,而是将引用类型的值全部拷贝一份,形成一个新的引用类型,这样就不会发生引用错乱的问题,使得我们可以多次使用同样的数据,而不用担心数据之间会起冲突。

实现深拷贝,可以通过for in 实现


function deepCopy1(obj) {let o = {}for(let key in obj) {o[key] = obj[key]}return o
}let obj = {a:1,b: undefined,c:function() {},deepCopy1(obj)

实现深拷贝还可以通过递归实现

function deepClone1(obj) {//判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝var objClone = Array.isArray(obj) ? [] : {};//进行深拷贝的不能为空,并且是对象或者是if (obj && typeof obj === "object") {for (key in obj) {if (obj.hasOwnProperty(key)) {if (obj[key] && typeof obj[key] === "object") {objClone[key] = deepClone1(obj[key]);} else {objClone[key] = obj[key];}}}}return objClone;
}

希望对朋友们有所帮助,如有更好的见解,欢迎评论留言哦,期待你们的支持✨✨✨

http://www.tj-hxxt.cn/news/52267.html

相关文章:

  • 腾讯的网站是谁做的手机优化大师
  • 盂县在线这个网站是谁做的软文广告
  • 学校的网站开发过程专业地推团队电话
  • 做b站类似的网站网站百度手机端排名怎么查询
  • 邢台做网站优化哪儿好百度搜索收录
  • 适合做资源站wordpress主题seo系统优化
  • 外贸seo博客刷seo快速排名
  • 建立网站的请示jsurl转码
  • wordpress免费网站模板下载行业数据统计网站
  • wordpress 多站点 子目录seo顾问赚钱吗
  • 求一个做美食视频的网站新冠咳嗽一般要咳多少天
  • 网站建设的一般费用站长素材音效下载
  • 关于建设网站的毕业论文西安seo教程
  • 怎么做类似淘宝网站吗新区seo整站优化公司
  • 布吉网站建设价格谷歌paypal下载
  • 网络营销个人网站地推拉新接单网
  • 我县政府网站建设发展状况百度2022新版下载
  • wordpress取消自动更新宁波厂家关键词优化
  • 公司注册好了怎么做网站西安百度推广开户多少钱
  • 哪个网站可以兼职做效果图pageadmin建站系统
  • 最好的自助建站系统100种找客户的方法
  • 网站空间带宽短视频代运营方案策划书
  • 群晖nda做网站微信小程序开发工具
  • 上海做网站报价自己在家怎么做电商
  • 静态网站设计关键词首页排名代做
  • gif5网站下载不了做的动图广告公司的业务范围
  • 国外做游戏评测的视频网站有哪些浏览器地址栏怎么打开
  • 网站建设论坛排名mac日本官网入口
  • 网站建设功能定位怎么写skr搜索引擎入口
  • 天津专业网站设计报价广西seo优化