前端面试之下划线转小驼峰

说明:写一个转换函数,把json对象的key值从下划线(Pascal)形式转为小驼峰(Camel)形式
示例:convert({“a_bc_def”: 1}); // 返回 {“aBcDef”: 1}

分析:此题的考点是replace方法,和正则表达式
先看看replace方法,都知道replace方法有两个参数,第二个参数表示要替换为的字符串,但是没怎么详细用过,此题的考点即考察第二个参数为方法的用法

先举个栗子,看看这个方法怎么用:

var str = "a_bc_def"
function toCamel (str) {
  return str.replace(/_\w/g, function (a, b, c, d) {
    console.log(a, b, c, d)
  })
}
toCamel(str)
结果:
_b 1 a_bc_def undefined
_d 4 a_bc_def undefined

分析:

参数 a 代表 匹配到的字符串
参数 b 代表 匹配到的字符串的下标
参数 c 代表 整个字符串
至此,此题已经可解
但是,匹配到字符串中还有下划线,此时还不是最优解,能不能直接匹配到首字母呢,
答案是肯定的

点击查看后面分析

你可能感兴趣的:(面试,js)