一道JavaScript面试题:
要求:将给定字符串 border-left-color转换成驼峰写法为borderLeftColor
知识点:
小写转换成大写的方法toUppercase()方法;
将字符分隔成数组的方法split()方法;
正则表达式运用。
方法一:
先将字符串分隔再拼接
//charAt(0)方法得到第一个字母
// arr[i].substring(1)得到除了第一个字符后的所有字符串
function toUp(str){
var arr = str.split('-');
for (var i = 1; i < arr.length; i ++) {
arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);
}
return arr.join('');
};
//执行方法
alert(toUp('border-left-color')); //borderLeftColor
方法二:正则表达式
function toUp(str){
// -\w 表示-和后面的一个字母。(\w)括号扩起来表示子项。g表示所有的
var reg = /-(\w)/g;
// 形参$0表示正则的整体-(\w),$1表示正则的第一个子项(\w)
return str.replace(reg, function($0, $1){
return $1.toUpperCase();
})
}
//执行方法
alert(toUp('border-left-color'))