关注
将对象中的所有属性名改为驼峰式, 有点类似简化版的深拷贝
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看16道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客树洞,我想对你说 #
28250次浏览 202人参与
# 选择和努力,哪个更重要? #
117646次浏览 946人参与
# “vivo”个offer #
7726次浏览 63人参与
# 秋招许愿,本周能____ #
6529次浏览 49人参与
# 新凯来求职进展汇总 #
56584次浏览 149人参与
# 为了实习逃课值吗? #
4296次浏览 47人参与
# 快手技术岗信息交流阵地 #
10877次浏览 71人参与
# 大学最后一个寒假,我想…… #
58282次浏览 636人参与
# 华为海思工作体验 #
32481次浏览 138人参与
# 运营每日一题 #
106317次浏览 874人参与
# 如何KTV领导 #
75890次浏览 512人参与
# 除了主业以外,你还有哪些其他收入? #
33786次浏览 299人参与
# 哪些公司校招卡第一学历 #
217061次浏览 770人参与
# 你最满意的offer薪资是哪家公司? #
44611次浏览 218人参与
# 25届非技术实习投递记录 #
133912次浏览 994人参与
# 你最近一次加班是什么时候? #
95818次浏览 518人参与
# 求职中的尴尬瞬间 #
10630次浏览 69人参与
# 应届生被毁约被毁意向了怎么办 #
49873次浏览 283人参与
# 硬件人的春招flag #
54365次浏览 436人参与
# 秋招想进国企该如何准备 #
100242次浏览 501人参与
# 歌尔求职进展汇总 #
70300次浏览 357人参与
# 为什么国企只招应届生 #
210840次浏览 1241人参与
