深拷贝

function clone(value) {
  if (Array.isArray(value)) {
    /* return value.map((value) => {
      return clone(value);
    }); */
    // 简洁写法
    return value.map(clone)
  } else if (value && typeof value === 'object') {
    // 对于null的情况
    const res = {}
    Object.keys(value).forEach(key => {
      res[key] = clone(value[key])
    })
    return res
  } else {
    return value
  }
}

const value = {
  a: [1, 3],
  b: { a: 1, b: 2 },
  c: 3,
  d: undefined,
  e: null
}
console.log(clone(value))