天天看點

寫一個字元串轉成駝峰的方法

今天看到一個這樣的基礎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));      

繼續閱讀