成都前端培训课程之js里的深度克隆ES6

[复制链接]

211

主题

211

帖子

346

积分

中级会员

Rank: 3Rank: 3

积分
346
分享到:
发表于 2019-3-14 14:10:48 | 显示全部楼层 |阅读模式
  成都前端培训课程之js里的深度克隆ES6

  数组克隆

  let arr = [1,2,3,4,5];

  let arr1 = [...a];

  arr1 = ["a","b","c"];

  arr;//[1,2,3,4,5]

  arr1;//["a","b","c"]

  对象克隆

  let obj = {name:"tony",age:18};

  let obj1 = {...obj};

  obj1.age = 16;

  obj;//{name:"tony",age:18}

  obj1;//{name:"tony",age:16}

  附ES5

  仅供参考

  数组的克隆

  function deepClone (event) {

  var arr = [],

  i = 0,

  len = event.length;

  for (; i < len; i++) {

  if (event[i] instanceof Array) {

  arr[i] = deepcopy(event[i]);

  } else arr[i] = event[i];

  }

  return arr;

  }

  对象的克隆

  function deepClone(obj){

  var newObj= obj instanceof Array?[]:{};

  for(var i in obj){

  newObj[i]=typeof obj[i]=='object'?

  deepClone(obj[i])bj[i];

  }

  return newObj;

  }

  若有不妥之处请指正

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表