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

山西网站建设找哪家公司网站建设深

山西网站建设找哪家,公司网站建设深,泉州工作室网站建设,有关电商网站开发的参考文献我们都知道,数组也是属于对象,在JS中对象的存储方式则是引用的方式。我们想要拷贝一个数组,就不能只是变量之前的赋值拷贝,这样他们将共享同一个引用,而数组又具有可变性,所以无法将原数组和拷贝的数组的数…

我们都知道,数组也是属于对象,在JS中对象的存储方式则是引用的方式。我们想要拷贝一个数组,就不能只是变量之前的赋值拷贝,这样他们将共享同一个引用,而数组又具有可变性,所以无法将原数组和拷贝的数组的数据分隔开。那么接下来将介绍如何对数据进行深层拷贝,使得原数组和拷贝数组的数据分隔开来。

浅拷贝

1.展开运算符

只支持简单结构的拷贝

    let number = [1, 2, 3, 4, 5]let copy = [...number]copy.push(0)console.log('copy', copy)//[1, 2, 3, 4, 5, 0]console.log('number', number)//[1, 2, 3, 4, 5]let arr = [{name: 'zhangsan',age: 18},{name: 'lisi',age: 19}]let copyArr = [...arr]copyArr[0].name = 'wangwu'console.log('copyArr', copyArr)//[ { name: 'wangwu', age: 18 }, { name: 'lisi', age: 19 } ]console.log('arr', arr)//[ { name: 'wangwu', age: 18 }, { name: 'lisi', age: 19 } ]

2.Array.concat方法

只支持简单结构的拷贝

  const number = [1, 2, 3, 4, 5]const copy = number.concat()copy.push(0)console.log('copy', copy)//[1, 2, 3, 4, 5, 0]console.log('number', number)//[1, 2, 3, 4, 5]const arr=[{name:'zhangsan',age:18},{name:'lisi',age:19}]let arrCopy=arr.concat()arrCopy[0].name='wangwu'console.log('arrCopy',arrCopy)//[ { name: 'wangwu', age: 18 }, { name: 'lisi', age: 19 } ]console.log('arr',arr)//[ { name: 'wangwu', age: 18 }, { name: 'lisi', age: 19 } ]

深拷贝

1.JSON.parse(JSON.stringify(arr))

支持简单结构和复杂结构的深层拷贝

  let number=[1,2,3,4,5]let copy=JSON.parse(JSON.stringify(number))copy.push(0)console.log('copy',copy)//[1, 2, 3, 4, 5, 0]console.log('number',number)//[1, 2, 3, 4, 5]const arr=[{name:'zhangsan',age:18},{name:'lisi',age:19}]let arrCopy=JSON.parse(JSON.stringify(arr))arrCopy[0].name='wangwu'console.log('arrCopy',arrCopy)//[ { name: 'wangwu', age: 18 }, { name: 'lisi', age: 19 } ]console.log('arr',arr)//[ { name: 'zhangsan', age: 18 }, { name: 'lisi', age: 19 } ]

2. Array.slice方法

支持简单结构和复杂结构的深层拷贝

    let numbers=[1,2,3,4,5]let numbersCopy=numbers.slice()numbersCopy.push(6)console.log('numbersCopy',numbersCopy)//[1, 2, 3, 4, 5, 6]console.log('numbers',numbers)//[1, 2, 3, 4, 5]let arr=[{name:'zhangsan',age:18},{name:'lisi',age:19}]let arrCopy=arr.slice()arrCopy.push({name:'wangwu',age:20})console.log('arrCopy',arrCopy)//[ { name: 'zhangsan', age: 18 }, { name: 'lisi', age: 19 }, { name: 'wangwu', age: 20 } ] console.log('arr',arr)//[ { name: 'zhangsan', age: 18 }, { name: 'lisi', age: 19 } ]

3.Array.map方法

支持简单结构和复杂结构的深层拷贝

    let numbers=[1,2,3,4,5,8]let copy=numbers.map(item=>item)copy.push(9)console.log('copy',copy)//[1, 2, 3, 4, 5, 8, 9]console.log('numbers',numbers)//[1, 2, 3, 4, 5, 8]const arr=[{name:'zhangsan',age:18},{name:'lisi',age:19}]const arrCopy=arr.map(item=>item)arrCopy.push({name:'wangwu',age:20})console.log('arrCopy--',arrCopy)//[ { name: 'zhangsan', age: 18 }, { name: 'lisi', age: 19 }, { name: 'wangwu', age: 20 } ]console.log('arr--',arr)//[ { name: 'zhangsan', age: 18 }, { name: 'lisi', age: 19 } ]

Array.from方法

支持简单结构和复杂结构的深层拷贝

    const number=[1,2,3,4,5]const copy=Array.from(number)copy.push(10)console.log('copy',copy)//[1, 2, 3, 4, 5, 10]console.log('number',number)//[1, 2, 3, 4, 5]let arr=[{hobby:'xxx',age:18},{hobby:'yyy',age:19}]const arrCopy=Array.from(arr)arrCopy.push({hobby:'zzz',age:20})console.log('arrCopy',arrCopy)//[ { hobby: 'xxx', age: 18 }, { hobby: 'yyy', age: 19 }, { hobby: 'zzz', age: 20 } ]console.log('arr',arr)//[ { hobby: 'xxx', age: 18 }, { hobby: 'yyy', age: 19 } ]

http://www.yayakq.cn/news/112537/

相关文章:

  • 网站认证源码美食网站中饮食资讯该怎么做
  • 黔西县住房和城乡建设局网站做网站背景音乐
  • 什么网站可以自己做名片网站跟网页的区别
  • 蛋糕店网站开发策划书营销策略有哪些4种
  • 威海住房和城乡建设局网站首页济南百度seo排名公司
  • 那种自行提取卡密的网站怎么做外贸的整个详细流程
  • 网站排名配色戒烟网页设计作品欣赏
  • 最新企业网站模板网站建设视频 备份 反代
  • 佛山市手机网站建设hao123浏览器下载安装
  • 网络营销公司网络推广专业网站优化外包
  • 空间设计网站大全微信开发者工具官方文档
  • 郑州正规的网站制作价钱手机一键生成户型图
  • 服装网站 欣赏wordpress 如何修改like和dislike
  • 抖音代运营策划案网站seo诊断优化分析该怎么做
  • 山东网站定制设计公司wordpress文章显示
  • 网站怎样做优惠卷网站开发的甘特图
  • 自己做网站广告法为餐饮企业做网站推广
  • 江苏住房与城乡建设厅网站免费商城系统哪个好
  • 哈尔滨铁路局建设网站网页设计代码单词
  • 做网站找谁室内装饰设计公司
  • 灰色调网站wordpress 4.9.1模板
  • 网站不用了 怎么关闭江苏网站优化建站
  • 如何建立像百度一样的网站成都广告公司简介
  • 什么网站做推广福州市住房和城乡建设局官网
  • 2021国内最好用免费建站系统如何对自己建设的网站进行推广
  • 网站seo完整seo优化方案软件开发公司是干什么的
  • 北京网站建设签约如何建设手机端网站
  • 建设网站建设网站推广团队在哪里找
  • 网站建设需要掌握什么知识大兴安岭做网站
  • 在线网站建设询问报价设计工作室一年收入