前端 js 经典:深拷贝

简介: 前端 js 经典:深拷贝

浅拷贝:两个对象指向同一个内存地址,其中一个改变会影响另外一个

深拷贝:新对象指向新得内存地址,互不影响

function deepClone(obj) {
  if (typeof obj !== "object") return obj;
  
  const target = Array.isArray(obj) ? [] : {};
  for (const key in obj) {
    // 判断数据中key是否重复,不重复着继续逻辑
    if (!hasOwnProperty.call(obj, key)) continue;
    const v = obj[key];
    target[key] = typeof v === "object" && v !== null ? deepClone(v) : v;
  }
  return target;
}


目录
相关文章
|
25天前
|
前端开发 JavaScript
前端 js 经典:数组常用方法总结
前端 js 经典:数组常用方法总结
26 0
|
15天前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
25天前
|
前端开发 JavaScript 流计算
前端 js 经典:字符串超全方法总结
前端 js 经典:字符串超全方法总结
28 0
|
25天前
|
JavaScript 前端开发
前端 JS 经典:原型和原型链
前端 JS 经典:原型和原型链
22 0
|
25天前
|
前端开发 JavaScript
前端 JS 经典:数组去重万能方法
前端 JS 经典:数组去重万能方法
20 0
|
25天前
|
前端开发 JavaScript
前端 JS 经典:for-in 和 for-of 用法区别
前端 JS 经典:for-in 和 for-of 用法区别
23 0
|
28天前
|
前端开发 JavaScript
前端 JS 经典:i,i++,++i区别
前端 JS 经典:i,i++,++i区别
21 0
|
30天前
|
存储 JavaScript 前端开发
js深浅拷贝的区别
js深浅拷贝的区别
22 0
|
10月前
|
JavaScript 前端开发
js深浅贝和浅拷贝区别
js深浅贝和浅拷贝区别
|
JavaScript
js基础笔记学习137-深拷贝和浅拷贝1
js基础笔记学习137-深拷贝和浅拷贝1
93 0
js基础笔记学习137-深拷贝和浅拷贝1

热门文章

最新文章