UNPKG

uni-multiple-select

Version:

uni-app 多选select组件、select搜索选择页组件;支持H5、微信、百度、支付宝、头条等小程序

19 lines (18 loc) 671 B
export default function deepClone(obj, hash= new Map()) { if(obj == null) return obj; // 不操作 if(obj instanceof Date) return new Date(obj); if(obj instanceof RegExp) return new RegExp(obj); // 普通值/函数不需要深拷贝 if(typeof obj !== "object") return obj; // 是对象的话要进行深拷贝 if(hash.get(obj)) return hash.get(obj); let cloneObj = new obj.constructor(); // 找到的是所属类原型上的constructor,而原型上的constructor指向的是当前类本身 hash.set(obj.cloneObj); for(let key in obj) { if(obj.hasOwnProperty(key)) { cloneObj[key] = deepClone(obj[key], hash) } } return cloneObj; }