Jelajahi Sumber

零售端pc新增深拷贝方法

jiangfeng 5 tahun lalu
induk
melakukan
38a8e1e1a7
1 mengubah file dengan 20 tambahan dan 1 penghapusan
  1. 20 1
      hd/src/utils/util.js

+ 20 - 1
hd/src/utils/util.js

@@ -27,7 +27,25 @@ const getShortUrl = url => {
   let urlArr = url.split('.');
 	return url.substring(startIndex, endIndex) + '.' + urlArr[urlArr.length - 1];
 };
-
+/**
+ * 深拷贝对象
+ * @param {要拷贝对象} obj
+ */
+const copyObject = obj => {
+	let str,
+		newobj = Array.isArray(obj) === true ? [] : {};
+	if (typeof obj !== "object") {
+		return;
+	} else if (JSON) {
+		(str = JSON.stringify(obj)), //系列化对象
+			(newobj = JSON.parse(str)); //还原
+	} else {
+		for (let i in obj) {
+			newobj[i] = typeof obj[i] === "object" ? copyObject(obj[i]) : obj[i];
+		}
+	}
+	return newobj;
+};
 /** *
  * 全局公共按钮跳转
  * @parmas item.funtion 为可执行函数
@@ -191,6 +209,7 @@ export function checkPhone(val) {
 }
 export default {
 	isEmpty,
+	copyObject,
 	parse,
 	pageTo,
 	$checkName,