js封装方法实现深拷贝
1.新建名为tools.js的文件,添加内容:
export const deepClone = (obj, result) => {
var result = result || {};
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (typeof obj[prop] == 'object' && obj[prop] !== null) {
// 引用值(obj/array)且不为null
if (Object.prototype.toString.call(obj[prop]) == '[object Object]') {
// 对象
result[prop] = {};
} else {
// 数组
result[prop] = [];
}
deepClone(obj[prop], result[prop])
} else {
// 原始值或func
result[prop] = obj[prop]
}
}
}
return result;
}
2.在页面中引入并使用
// 引入
import { deepClone } from "@/utils/tools.js";
// 方法中使用
var formData = {
name: "张三",
age: 18,
likes: ["乒乓", "篮球", "跑步"]
};
var data = deepClone(formData);文章来源:https://www.toymoban.com/news/detail-787818.html
console.log(data);文章来源地址https://www.toymoban.com/news/detail-787818.html
到了这里,关于JS 深克隆(深克隆不考虑函数)深拷贝deepClone的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!