问:JS/javascript对象拷贝方法都有哪些?
七娃博客
620人阅读
1.{...obj} ES6扩展运算符,解析解构法
let aa = { name:'七娃', sex:'男' } let bb = {...aa}
2.Object.assign(new,old1,old2) ES6 合并为对象
let cc = Object.assign({},aa)
3.手写函数
function copy(obj){ var newO = {}; for(let keys in obj){ newO[keys] = obj[keys] } return newO; }
4.JSON格式转换法 —— 深拷贝
function deepCopy(obj){ return JSON.parse(JSON.stringify(obj)); }
5.手写深拷贝
function deepCopy(obj){ var newObj = Array.isArray(obj)?[]:{} for(let keys in obj){ if(obj.hasOwnProperty(keys)){ newObj[keys] = typeof obj[keys]==='object' ? deepCopy(obj[keys]) : obj[keys] } } return newObj; }
主题开源不易,支持一下作者吧!
使用支付宝打赏
使用微信打赏
评论 | 0 条评论
登录之后才可留言,前往登录