写一个字符串转成驼峰的方法

今天看到一个这样的基础js面题。就是让写一个字符串转成驼峰的方法:

如:border-bottom-color  》  borderBottomColor

想想应该有两种方法:

1,用传统的字符串操作。

2,用正则表达式的方法。

首先我们看看第一种的实现原理:我们要把-b和-c转成大写的B和C。那么我们可以用split()方法来进行分割

利用toUpperCase()方法来转大写。最后用join()方法来拼接。

OK

 

var str = "border-bottom-color";

function test(str){
	var arr = str.split("-");//用split()函数来进行分割字符串arr里面包括【border,bottom,color】
	for(var i=1;i<arr.length;i++){//从数组的第二项开始循环,charAt(0)找到第一个字母。substring(1)截掉第一个字母。
		arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);//循环之后把得到的字符赋给arr。【border,Bottom, Color】
		alert(arr[i]);
	}
	return arr.join("");//用join方法来拼接,空拼接。就变成borderBottomColor

}
alert(test(str));

 

 

很好理解

然后我们用正则表达式来完成转换。如果了解正则的人会觉得很容易的。

 

var str = "border-bottom-color";
function test(str){
	var re = /-(\w)/g;//通过正则找到-b  -c。默认的是匹配一次,所以要用g来全局匹配。\w指的字符。找一个-找一个字符。replace替换就是B替换-b   C替换-c。 $0代表正则,$1代表指向
	return str.replace(re, function($0,$1){
		return $1.toUpperCase();
	});
}
alert(test(str));

 

 

你可能感兴趣的:(字符串,正则,toUpperCase,转驼峰)