时间:2019-05-03 来源:小程序工厂
自己测试了一下 使用对象的深拷贝去复制一个对象再进行编码就可以避免这个问题
有遇到过这个问题的小伙伴可以看一下 这里提供一个深度拷贝的方法
// 对象拷贝
function deepClone(source) {
const targetObj = source.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象
for (let keys in source) { // 遍历目标
if (source.hasOwnProperty(keys)) {
if (source[keys] && typeof source[keys] === 'object') { // 如果值是对象,就递归一下
targetObj[keys] = source[keys].constructor === Array ? [] : {};
targetObj[keys] = deepClone(source[keys]);
} else { // 如果不是,就直接赋值
targetObj[keys] = source[keys];
}
}
}
return targetObj;
}