问:JS数组拷贝方法都有哪些?
七娃博客
617人阅读
1.slice() 不带任何参数的时候,默认返回一个长度和原数组相同的新数组
let a = [1,2,3,5] let b = a.slice();
2.concat() 链接一个新数组,相当于concat([])
let c = a.concat();
3.手写
function copy(obj){ var newO = []; for(let keys in obj){ newO.push(obj[keys]) } return newO; } let d = copy(a);
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 条评论
登录之后才可留言,前往登录