深圳市小水滴网络科技有限公司(单题)

题型 难易度 出现频率 浏览 评论
问答题 15 0
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题
  • 请实现一个对象深拷贝函数,要求将以下对象拷贝为一个新对象 { name:"ice", age:18, label:["Humor"], Address:{ country:"China", Province:"GuangZhou", city:"ShenZhen" } }

可以使用Object.create可以达到深拷贝的效果


var obj = finalObj || {};   

 for (var i in initalObj) {     

  var prop = initalObj[i];    // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况

  if(prop === obj) {       

   continue;

  }     

  if (typeof prop === 'object') {

   obj[i] = (prop.constructor === Array) ? [] : Object.create(prop);

  } else {

   obj[i] = prop;

  }

 }   

 return obj;

}