JSON.stringify() 怎么变成浅拷贝
时间: 2024-09-20 15:16:33 浏览: 34
解决JSON.stringify()自动将中文转译成unicode的问题
`JSON.stringify()` 是 JavaScript 的内置函数,用于将任意 JavaScript 对象转换为 JSON 字符串。默认情况下,它会递归地序列化整个对象,包括嵌套的对象或数组。如果你只想得到一个浅拷贝(只复制最外层的数据),而不是完整的深度克隆,你可以对每个属性进行独立处理。
在 Vue 中,如果你想进行浅拷贝,你可以使用以下方法:
```javascript
function shallowCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
// 使用示例
let originalObj = { name: 'John', address: { city: 'New York' } };
let copiedObj = shallowCopy(originalObj);
console.log(copiedObj); // 输出:{ name: 'John', address: { city: 'New York' } }
```
这里 `shallowCopy` 函数先将对象转换成字符串,然后解析回一个新的对象,新对象只会包含原始对象的第一个层级数据,不会跟踪引用或深层嵌套。
阅读全文