分享JavaScript中简单的面试题
一、JavaScript中对象中属性名以短横线改变为驼峰命名
二、实现步骤
1.封装函数对对象进行遍历
代码如下(示例):
function deepNewObj (obj) {
let deepObj = {}
for (let key in obj) {
deepObj[getKey(key)] = obj[key]
if (obj[key] && obj[key] instanceof Object) {
deepObj[getKey(key)] = deepNewObj(obj[key])
}
}
return deepObj
}
2.将对象的属性(键)判断是否为以短横线分割的命名(my_name)
代码如下(示例):
function getKey (key) {
if (key.includes('_')) {
let oarr = key.split('_')
for (let i = 1; i < oarr.length; i++) {
oarr[i] = oarr[i].charAt(0).toUpperCase() + oarr[i].slice(1)
}
return oarr.join('')
}
return key
}
总结
拿取任意对象进行测试代码如下(示例):
var obj = {
attr_name: 'a',
hobby: {
sport_hobby: 'lol'
},
name: 'zhangsan',
text: {
text_two: {
text_three: '这是第三层'
}
}
}
提示:最后进行测试打印结果: