JS 深拷贝数组/对象

2018-11-22  本文已影响10人  wlianfu
var deepCopy = function(obj) {
  // 只拷贝对象
  if (typeof obj !== 'object') return;
  // 根据obj的类型判断是新建一个数组还是一个对象
  var newObj = obj instanceof Array ? [] : {};
  for (var key in obj) {
    // 遍历obj,并且判断是obj的属性才拷贝
    if (obj.hasOwnProperty(key)) {
      // 判断属性值的类型,如果是对象递归调用深拷贝
      newObj[key] = typeof obj[key] === 'object' ? deepCopy(obj[key]) : obj[key];
    }
  }
  return newObj;
}
--------------------- 
作者:小m077 
来源:CSDN 
原文:https://blog.csdn.net/qq_37268201/article/details/80448848 
版权声明:本文为博主原创文章,转载请附上博文链接!
上一篇下一篇

猜你喜欢

热点阅读