From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 28 五月 2025 16:48:52 +0800 Subject: [PATCH] 初始化项目 --- uview-ui/libs/function/deepClone.js | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/uview-ui/libs/function/deepClone.js b/uview-ui/libs/function/deepClone.js new file mode 100644 index 0000000..3db999a --- /dev/null +++ b/uview-ui/libs/function/deepClone.js @@ -0,0 +1,23 @@ +// 鍒ゆ柇arr鏄惁涓轰竴涓暟缁勶紝杩斿洖涓�涓猙ool鍊� +function isArray (arr) { + return Object.prototype.toString.call(arr) === '[object Array]'; +} + +// 娣卞害鍏嬮殕 +function deepClone (obj) { + // 瀵瑰父瑙佺殑鈥滈潪鈥濆�硷紝鐩存帴杩斿洖鍘熸潵鍊� + if([null, undefined, NaN, false].includes(obj)) return obj; + if(typeof obj !== "object" && typeof obj !== 'function') { + //鍘熷绫诲瀷鐩存帴杩斿洖 + return obj; + } + var o = isArray(obj) ? [] : {}; + for(let i in obj) { + if(obj.hasOwnProperty(i)){ + o[i] = typeof obj[i] === "object" ? deepClone(obj[i]) : obj[i]; + } + } + return o; +} + +export default deepClone; -- Gitblit v1.9.3