论坛   生活杂谈   成都前端培训课程之js里的深度克隆ES6
返回生活杂谈
发新帖 回复
查看: 1398|回复: 0

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

[复制链接]
楼主

207

主题

207

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
发表于 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;

  }

  若有不妥之处请指正
返回生活杂谈
发新帖 回复
使用 高级模式(可批量传图、插入视频等)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告