UNPKG

nly-adminlte-vue

Version:
18 lines (15 loc) 471 B
import { isArray, isPlainObject } from "./inspect"; import { keys } from "./object"; export const cloneDeep = (obj, defaultValue = obj) => { if (isArray(obj)) { return obj.reduce((result, val) => [...result, cloneDeep(val, val)], []); } if (isPlainObject(obj)) { return keys(obj).reduce( (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }), {} ); } return defaultValue; }; export default cloneDeep;