From 81c2e04dfa02af170bd2ba97c5cf0d7ede4ab925 Mon Sep 17 00:00:00 2001 From: yigencong Date: Sat, 13 Apr 2024 21:53:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=B7=B1=E6=8B=B7?= =?UTF-8?q?=E8=B4=9D=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/深拷贝.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 js/深拷贝.js diff --git a/js/深拷贝.js b/js/深拷贝.js new file mode 100644 index 0000000..1144aa8 --- /dev/null +++ b/js/深拷贝.js @@ -0,0 +1,27 @@ +/** + * @description 传入一个对象或者数组,返回一个新的对象,内部的引用值也会修改 + * @param {Object | Array} obj - 一个引用类型 Object 或者 Array + * @returns {Object | Array} - 返回新的值 + */ +function copy(obj){ + // 判断这个值是否是引用值,如果不是的话就返回 + if (typeof obj !== 'object' || obj === null) return obj + // 判断数组是否是数组,如果是数组就采用数组的方式便利,否则使用对象的方式便利 + var newObj = null + if(Array.isArray(obj)) { + newObj = [] + var n = obj.length + for (var i = 0;i