SOURCE

/*
    首先我们在开发的过程当中遇到这样一个处理数据的需求
    const todayILearn = {
    _id: 1,
    content: '今天学习 JSON.stringify(),我很开心!',
    created_at: 'Mon Nov 25 2019 14:03:55 GMT+0800 (中国标准时间)',
    updated_at: 'Mon Nov 25 2019 16:03:55 GMT+0800 (中国标准时间)'
    }
    复制代码我们需要将上面这个对象处理成下面这个对象
    const todayILearn = {
    id: 1,
    content: '今天学习 JSON.stringify(),我很开心!',
    createdAt: 'Mon Nov 25 2019 14:03:55 GMT+0800 (中国标准时间)',
    updatedAt: 'Mon Nov 25 2019 16:03:55 GMT+0800 (中国标准时间)'
    }
*/
// 没用JSON.stringify()处理的方法
function detailObj(key){
  let keyArr = key.split('_');
  let res = keyArr.filter(val => val !== '');
  let resStr = '';
  if (res.length > 1) {
    res.forEach((val, i) => {
      if (i > 0) {
        let r = val.substring(0,1).toUpperCase() + val.substring(1);
        resStr = resStr + r;
      } else {
        resStr = resStr + val;
      }
    })
  } else {
    resStr = res[0];
  }
  return resStr;
}

function fn(obj) {
  let newObj = {}
  if ({}.toString.call(obj) == '[object Object]') {   // 判断参数是否是有效的对象
    Object.keys(obj).forEach(val => {
      newObj[detailObj(val)] = obj[val];
    })
  }
  return newObj;
}

const todayILearn = {
  _id: 1,
  content: '今天学习 JSON.stringify(),我很开心!',
  created_at: 'Mon Nov 25 2019 14:03:55 GMT+0800 (中国标准时间)',
  updated_at_: 'Mon Nov 25 2019 16:03:55 GMT+0800 (中国标准时间)',
  add_: 'skdkdkdk'
}

fn(todayILearn);

// JSON.stringify()特性  链接:https://juejin.im/post/5decf09de51d45584d238319
console 命令行工具 X clear

                    
>
console