字符串轉換爲駝峯格式——js練習

題目要求

完善函數 convertToCamelCase 的功能。函數 convertToCamelCase 會轉換傳入的字符串參數 string 爲駝峯格式,並返回轉換後的字符串。具體要求以下:web

  • 參數 string 是以中劃線(-)鏈接單詞的字符串,需將第二個起的非空單詞首字母轉爲大寫,如 -webkit-border-radius 轉換後的結果爲 webkitBorderRadius。
  • 返回轉換後的字符串
function convertToCamelCase(str) {
  // 去除中劃線分隔符獲取單詞數組
  var strArr = str.split('-');
  // 若是第一個爲空,則去掉
  if(strArr[0] === '') {
    strArr.shift();
  } 
  // 遍歷第二個單詞到最後一個單詞,並轉換單詞首字母爲答謝
  for(var i = 1, len = strArr.length; i < len; i++){
    // 若是不爲空,則轉成大寫
    if(strArr[i] !== '') {
       strArr[i] = strArr[i][0].toUpperCase() + strArr[i].substring(1);
    }   
  }
  return strArr.join('');
}

注意:檢查第一項是否爲空數組

思路:函數

  • 去除參數字符串的中劃線鏈接符,在這裏使用到字符串分割方法 split
  • 獲取去除中劃線鏈接符的單詞數組,並保存在一個新的變量 strArr
  • 須要判斷該數組第一項是否爲空,若是爲空則去掉。如 '-a-b-c'.split('-'); // 返回的是 ['', a, b, c] 第一項便爲空字符串
  • 使用循環語句,設置起始座標 i = 1 即只從第二個單詞開始來進行處理
  • 將每一個單詞的首字母調用字符串大寫方法 toUpperCase
  • 將更改的首字母字符和單詞後面的字符再次拼接起來,成爲一個新的單詞字符串
  • 循環後將單詞數組拼接成一個完整的字符串,使用了數組的方法 join

 

用到的知識點以下:

  • 分割字符串 split

   split() 方法能夠把字符串分割爲字符串數組。以下所示:ui

 "2:3:4:5".split(":") // 將返回 ["2", "3", "4", "5"]  "|a|b|c".split("|") // 將返回 ["", "a", "b", "c"]


更多: http://www.w3school.com.cn/jsref/jsref_split.asp
  • 截取字符串 substring

    substring() 方法用於提取字符串中介於兩個指定下標之間的字符。以下所示:spa

 var str = 'Hello World!';  console.log(str.substring(3)); // 將返回 lo world!

下圖爲w3school的定義&解釋


更多:http://www.w3school.com.cn/jsref/jsref_substring.asp


  • 字符串轉換大寫 toUpperCase() / toLocaleUpperCase()

    toLocaleUpperCase() 方法用於把字符串轉換爲大寫。以下所示:code

 var str = 'Hello World!';  console.log(str.toLocaleUpperCase()); // 將返回 HELLO WORLD!

更多:http://www.w3school.com.cn/jsref/jsref_toLocaleUpperCase.asp
http://www.w3school.com.cn/jsref/jsref_toUpperCase.asp

  • 拼接字符串 join()

        定義和用法

      join() 方法用於把數組中的全部元素放入一個字符串。blog

      元素是經過指定的分隔符進行分隔的。字符串

 
更多:http://www.w3school.com.cn/jsref/jsref_join.asp


  • 更多方法:http://www.w3school.com.cn/jsref/jsref_obj_string.asp

相關文章
相關標籤/搜索