JSON.stringify深拷贝
时间: 2023-11-11 21:58:17 浏览: 74
JSON.stringify实现深拷贝的一种方式,它会将一个 JavaScript 对象或值转换为 JSON 字符串,然后再将该 JSON 字符串转换回一个新的 JavaScript 对象。这样可以得到一个与原始对象结构相同但是指向不同的新对象,实现了深拷贝。
以下是一个使用JSON.stringify实现深拷贝的示例代码:
```
const obj1 = {
name: 'Alice',
age: 20,
address: {
city: 'Shanghai',
street: '123 Main St.'
}
};
const obj2 = JSON.parse(JSON.stringify(obj1));
console.log(obj1);
console.log(obj2);
console.log(obj1 === obj2);
console.log(obj1.address === obj2.address);
```
输出结果:
```
{ name: 'Alice', age: 20, address: { city: 'Shanghai', street: '123 Main St.' } }
{ name: 'Alice', age: 20, address: { city: 'Shanghai', street: '123 Main St.' } }
false
false
```
可以看到,obj1和obj2虽然具有相同的结构和值,但是它们是两个不同的对象,而且它们的address属性也是两个不同的对象。
阅读全文