前言
在微信小程序中,你无法 直接使用常规浏览器环境中的深浅拷贝方法。
但可以借助 utils.js
实现,下面是方法。
创建深浅拷贝函数
依次打开小程序目录【utils】→【utils.js】,写入深拷贝函数并暴露出去。
// utils.js
// 对象深拷贝函数
const deepClone = function(initalObj) {
var obj = {};
obj = JSON.parse(JSON.stringify(initalObj));
return obj;
}
// 将深拷贝函数暴露出去
module.exports = {
deepClone
}
页面使用
首先需要在页面顶部 require
引入 utils.js
,然后使用即可。
// index.js
// 引入 utils.js (使用深拷贝)
const utils = require('../../../utils/util')
Page({
data: {
obj:{a:1, b:2},//原对象
},
demo: function(){
// 深拷贝obj
var newObj = utils.deepClone(this.data.obj)//深拷贝副本
},
})