uniapp vue3版本开发微信小程序 深拷贝 一个复杂对象里面包含数组,字符,数字等
时间: 2024-10-22 16:15:43 浏览: 46
uniapp陪诊微信小程序 使用uniapp+vue3开发微信小程序代码示例
在 UniApp 中,使用 Vue3 开发微信小程序时,当你需要对一个复杂对象(如嵌套数组、字符串和数字的对象)进行深拷贝时,可以利用 JavaScript 的 `JSON.parse` 和 `JSON.stringify` 方法结合 `util.extend` 或者 Vue 自带的 `this.$deepClone` 来实现深度克隆。
首先,确保引入了必要的工具库:
```javascript
// 如果未安装,可以使用 npm install json-stringify-safe util
import { extend } from 'util'; // 或者 import $ from 'uni-app/dist/uni-app.runtime.js',然后使用 this.$deepClone
```
然后你可以这样做:
```javascript
function deepClone(obj) {
return JSON.parse(JSON.stringify(obj));
}
// 示例
let originalObj = {
array: [1, 2, 3],
string: "Hello",
number: 42,
};
let clonedObj = deepClone(originalObj);
clonedObj.array.push(4); // 修改后的数组不会影响原始对象
console.log(originalObj); // { array: [1, 2, 3], string: "Hello", number: 42 }
console.log(clonedObj); // { array: [1, 2, 3, 4], string: "Hello", number: 42 }
```
如果你使用的是 Vue,可以直接使用 `$deepClone`:
```javascript
const clonedObj = this.$deepClone(originalObj);
```
阅读全文