JSON.parse() 和 JSON.stringify()

JSON.parse() :将字符串作为输入并将其转换为对象。

JSON.stringify():将一个 JSON 对象并将其转换为字符串。

利用 JSON.parse() 和 JSON.stringify() ⽅法可以实现实现深拷贝,深拷贝是指创建⼀个新的对象,并复制原始对象的所有属性,包括嵌套的对象和数组。这意味着在原始对象或新对象
上的更改不会相互影响。

// 定义一个包含嵌套对象的原始对象
const obj = { name: 'John', age: 30, address: { city: 'New York', state: 'NY' } };

// 使用深拷贝创建一个新的对象
const obj2 = JSON.parse(JSON.stringify(obj));

// 修改新对象中嵌套对象的属性
obj2.address.city = 'Chicago';

// 原始对象的嵌套对象属性未受影响
console.log(obj.address.city); // 输出:New York

// 新对象的嵌套对象属性已被修改
console.log(obj2.address.city); // 输出:Chicago

但这种方法有⼀些限制,例如不能复制函数和特殊对象,则可以用递归来实现深拷贝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值