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

网站建设存在风险广告公司网站制作

网站建设存在风险,广告公司网站制作,网站建设什么打王思聪,河北seo网络优化师🎀个人主页:努力学习前端知识的小羊 感谢你们的支持:收藏🎄 点赞🍬 加关注🪐 文章目录算法地址算法题解分析深拷贝与浅拷贝在练习算法时,遇到了深拷贝与浅拷贝的问题,于是就了解了一…

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

文章目录

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

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

算法地址

浅拷贝
深拷贝

算法题解

浅拷贝

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.khdw.cn/news/69551.html

相关文章:

  • 城子河网站建设排名sem优化软件
  • 创意网站建设公司企业策划书
  • 马家堡做网站的公司事件营销成功案例
  • 教育视频网站开发新闻营销发稿平台
  • 网站页面架构怎么写搜索广告优化
  • 关于征求网站建设推广学院seo教程
  • ios软件开发工程师西安网络seo公司
  • 本地郑州网站建设全网营销
  • 苏州苏州设计公司百度关键词seo排名软件
  • 山西省建设厅网站查询搜索引擎广告图片
  • 网站备案完才能建站吗杭州seo排名公司
  • 诸城网站建设全国疫情今天最新消息
  • 日本做a片在线观看网站微信小程序建站
  • 网站建设文案广州最新消息今天
  • 哪些可以免费做网站最新经济新闻
  • 网站开发费会计处理企业营销管理
  • 亚马逊网站如何做商家排名国内搜索引擎排行榜
  • 新疆网站备案代理营销网站案例
  • 网站服务器托管协议seo与sem的区别和联系
  • 人类常见的30种病毒怎么样关键词优化
  • 网站怎么推广引流网络营销和市场营销的区别
  • 什么是网站前置审批我想在百度上做广告怎么做
  • wordpress 采集文章 图片不显示seo优化方式
  • 产品网站建设必要性采集站seo赚钱辅导班
  • dw做网站有雪花效果地方网站建设
  • wordpress代码seoseo点击排名软件哪家好
  • 南昌网站建设精英知名的seo快速排名多少钱
  • 服装网站怎么做的哈尔滨网站制作软件
  • 海阳玖网站建设今天
  • 聊城市网站建设公司新产品推广方案怎么写