js深拷贝
js深拷贝
在JavaScript中,有多种方法可以实现对象的深拷贝,下面介绍几种常用的方式:
- 
手动遍历对象进行复制function deepCopy(obj) { if (typeof obj !== 'object' || obj === null) { return obj; } let newObj = Array.isArray(obj) ? [] : {}; for (let key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = deepCopy(obj[key]); } } return newObj; }
- 
使用JSON.stringify和JSON.parse进行深拷贝 注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用function deepCopy(obj) { return JSON.parse(JSON.stringify(obj)); }
- 
注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用const _ = require('lodash'); let obj = { a: 1, b: { c: 2 } }; let newObj = _.cloneDeep(obj);
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号