将对象中的所有属性名改为驼峰式, 有点类似简化版的深拷贝 console.log(objectKeyToCamel(person)); function toCamel(str) { return str.replace(/\_(\w)/g, function (match, p1) { return p1.toUpperCase(); }); } function objectKeyToCamel(object) { const ObjectTag = '[object Object]'; const ArrayTag = '[object Array]'; const typeTag = getTypeTag(object); let newObject = void 0; let isArray = false; if (typeTag === ObjectTag) { // 不破坏原型 newObject = initCloneObject(object); } else if (typeTag === ArrayTag) { isArray = true; newObject = []; } else { return object; } if (isArray) { object.forEach((value, index) => { newObject[index] = objectKeyToCamel(value); }) } else { let keys = Object.keys(object); for (let key of keys) { let newKey = toCamel(key); newObject[newKey] = objectKeyToCamel(object[key]); } } return newObject; }
点赞 1

相关推荐

10-22 19:44
门头沟学院 Java
面了100年面试不知...:那我得去剪个头
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务