UNPKG

york-demo-ui

Version:
37 lines (36 loc) 862 B
function typeOf (obj) { const toString = Object.prototype.toString const map = { '[object Boolean]' : 'boolean', '[object Number]' : 'number', '[object String]' : 'string', '[object Function]' : 'function', '[object Array]' : 'array', '[object Date]' : 'date', '[object RegExp]' : 'regExp', '[object Undefined]': 'undefined', '[object Null]' : 'null', '[object Object]' : 'object' } return map[toString.call(obj)] } function deepCopy (data) { const t = typeOf(data) let o if (t === 'array') { o = [] } else if ( t === 'object') { o = {} } if (t === 'array') { for (let i = 0; i < data.length; i++) { o.push(deepCopy(data[i])) } } else if ( t === 'object') { for (let i in data) { o[i] = deepCopy(data[i]) } } return o } export { deepCopy }