/*
首先我们在开发的过程当中遇到这样一个处理数据的需求
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