B站 前端 一面凉经

1、自我介绍
2、项目相关
3、编程题
var person = {
first_name:"Mather",
last_name:"Gates",
_age:62,
eye_color:"blue",
children: [
{
first_name:"XUPENGFEI",
last_name:"feifei",
_age:25,
children: [
{
first_name:"XIAOFEIFEI",
last_name:"xiaofeifei",
_age:2,
}
]
}
]
};


function toCamel(str) {
return str.replace(/\_(\w)/g, function (all, letter) {
return letter.toUpperCase();
})
}

function copy(obj) {
if (typeof obj !== 'object') return 0;

let newObj = {};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[toCamel(key)] = typeof obj[key] === 'object' ? copy(obj[key]) : obj[key];
}
}
return newObj;
}

console.log(copy(person));

将对象中的所有属性名改为驼峰式

4、Vue生命周期
#B站面经##春招##面经#
全部评论
项目问的底层吗
点赞 回复 分享
发布于 2022-07-14 16:01
将对象中的所有属性名改为驼峰式, 有点类似简化版的深拷贝 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]&(14698)#39;;   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; }
点赞 回复 分享
发布于 2022-04-04 15:09
就这四个问题吗?感觉也不难啊。
点赞 回复 分享
发布于 2022-04-03 14:34
楼主投的哪里呀,上海吗
点赞 回复 分享
发布于 2022-04-03 11:31

相关推荐

生命诚可贵:先不说内容怎么样 排版就已经太差劲了 第一眼看不到重点,第二眼已经没有再看的耐心了, 篇幅占的太满了 字体不要用灰色 观感不好 想重点突出的黑色加粗就可以了 多列要点 少些大段的句子 项目经历把项目用的技术要点列出来,光写个python plc什么的太宽泛了 自我评价也有点偏多
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

更多
牛客网
牛客企业服务