为了账号安全,请及时绑定邮箱和手机立即绑定

JS 对象拷贝问题

JS 对象拷贝问题

呼如林 2018-09-04 09:09:13
在做对象拷贝的时候,如果仅考虑对值的拷贝,就比如项目中的列表数据但是存储在一个对象中,我想对该对象进行拷贝的话能否使用JSON的思路,直接把obejct转成json字符串,然后再转成obejct,完成对值的拷贝?这种方法有没有什么弊端?
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

1.JSON这两个方法的兼容性(ie 6/7)
2.这个方法本身存在一些问题
示例代码:

function deepCopy(oldValue) { 
  var newValue
  strValue = JSON.stringify(oldValue)  return newValue = JSON.parse(strValue)
}var a = {  b: 'b',  c: [1,2,4],  d: null}

copy = deepCopy(a)console.log(a === copy) // falseconsole.log(a.b === copy.b) // trueconsole.log(a.c === copy.c) // falseconsole.log(a.d === copy.d) // truevar o = { a: 1, b: 2, sum: function() { return a + b; }
};var o2 = JSON.parse(JSON.stringify(o));console.log(o2);


查看完整回答
反对 回复 2018-09-29
  • 1 回答
  • 0 关注
  • 525 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信