最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)駝峰字符串轉(zhuǎn)下劃線(xiàn)字符串的三種方法

 更新時(shí)間:2023年11月16日 09:59:03   作者:一只小可樂(lè)吖  
這篇文章主要介紹了js下劃線(xiàn)和駝峰互相轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

需求如下:

將駝峰寫(xiě)法的字符串轉(zhuǎn)為下劃線(xiàn)寫(xiě)法的字符串

eg:輸入:"yiZhiXiaoKeLeYa"

輸出:"yi_zhi_xiao_ke_le_ya"

實(shí)現(xiàn)思路一:

可以使用正則表達(dá)式來(lái)實(shí)現(xiàn)駝峰字符串轉(zhuǎn)下劃線(xiàn)字符串:

function toUnderline(str) {
  return str.replace(/([A-Z])/g, '_$1').toLowerCase();
}
 
console.log(toUnderline('yiZhiXiaoKeLeYa')); // 輸出 'yi_zhi_xiao_ke_le_ya'
console.log(toUnderline('myCode')); // 輸出 'my_code'

/([A-Z])/g 是一個(gè)正則表達(dá)式,表示匹配所有大寫(xiě)字母。_$1 中的 $1 表示正則表達(dá)式匹配到的第一個(gè)大寫(xiě)字母,實(shí)現(xiàn)了在它前面添加下劃線(xiàn)的效果。最后,使用 toLowerCase() 將所有字母轉(zhuǎn)換成小寫(xiě)。

實(shí)現(xiàn)思路二:

利用 String.prototype.split() 和 Array.prototype.join() 方法:

function toUnderline(str) {
  let result = '';
  for (let i = 0; i < str.length; i++) {
    if (str[i] === str[i].toUpperCase()) {
      result += '_' + str[i].toLowerCase();
    } else {
      result += str[i];
    }
  }
  return result;
}
console.log(toUnderline('yiZhiXiaoKeLeYa')); // 輸出 'yi_zhi_xiao_ke_le_ya'
console.log(toUnderline('myCode')); // 輸出 'my_code'

遍歷字符串中的每個(gè)字符,如果字符是大寫(xiě)字母,則在其前面添加下劃線(xiàn)并轉(zhuǎn)化為小寫(xiě)字母,否則直接拼接

實(shí)現(xiàn)思路三: 

利用遞歸和 String.prototype.replace() 方法:

function toUnderline(str) {
  if (str.length <= 1) {
    return str.toLowerCase();
  }
  let firstChar = str[0];
  if (firstChar === firstChar.toUpperCase()) {
    firstChar = '_' + firstChar.toLowerCase();
  }
  return firstChar + toUnderline(str.slice(1));
}
 
console.log(toUnderline('yiZhiXiaoKeLeYa')); // 輸出 'yi_zhi_xiao_ke_le_ya'
console.log(toUnderline('myCode')); // 輸出 'my_code'

將字符串從第二個(gè)字符開(kāi)始傳入遞歸函數(shù)中處理,處理完成后在第一個(gè)字符前面根據(jù)大小寫(xiě)添加下劃線(xiàn)。當(dāng)字符串長(zhǎng)度小于等于 1 時(shí),直接轉(zhuǎn)化為小寫(xiě)字母。

到此這篇關(guān)于JS實(shí)現(xiàn)駝峰字符串轉(zhuǎn)下劃線(xiàn)字符串的三種方法的文章就介紹到這了,更多相關(guān)JS駝峰字符串轉(zhuǎn)下劃線(xiàn)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

龙陵县| 许昌市| 新乡市| 兴安县| 岳西县| 米林县| 襄樊市| 灵武市| 鲜城| 宜良县| 万荣县| 肥东县| 博野县| 屏边| 沧州市| 翼城县| 岢岚县| 恭城| 拉孜县| 广元市| 双桥区| 阿瓦提县| 徐州市| 镇江市| 二连浩特市| 临城县| 张掖市| 镇安县| 永州市| 新泰市| 宁安市| 达尔| 桂平市| 佳木斯市| 赫章县| 成武县| 盐池县| 清水河县| 桑日县| 青龙| 大英县|