vant/src/utils/deep-clone.ts
nemo-shen bf1652e938
fix(Cascader): assignKey function deep clone Array (#8326)
Co-authored-by: nemo-shen <1034131477@qq.com>
2021-03-14 10:17:16 +08:00

24 lines
438 B
TypeScript

import { isDef } from './index';
import { ObjectIndex } from './types';
export function deepClone(obj: ObjectIndex): object {
if (!isDef(obj)) {
return obj;
}
if (Array.isArray(obj)) {
return obj.map((item) => deepClone(item));
}
if (typeof obj === 'object') {
const to = {} as ObjectIndex;
Object.keys(obj).forEach((key) => {
to[key] = deepClone(obj[key]);
});
return to;
}
return obj;
}