JS实现驼峰字符串转下划线字符串的三种方法
需求如下:
将驼峰写法的字符串转为下划线写法的字符串
eg:输入:"yiZhiXiaoKeLeYa"
输出:"yi_zhi_xiao_ke_le_ya"
实现思路一:
可以使用正则表达式来实现驼峰字符串转下划线字符串:
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
是一个正则表达式,表示匹配所有大写字母。_$1
中的 $1
表示正则表达式匹配到的第一个大写字母,实现了在它前面添加下划线的效果。最后,使用 toLowerCase()
将所有字母转换成小写。
实现思路二:
利用 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'
遍历字符串中的每个字符,如果字符是大写字母,则在其前面添加下划线并转化为小写字母,否则直接拼接
实现思路三:
利用递归和 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'
将字符串从第二个字符开始传入递归函数中处理,处理完成后在第一个字符前面根据大小写添加下划线。当字符串长度小于等于 1 时,直接转化为小写字母。
到此这篇关于JS实现驼峰字符串转下划线字符串的三种方法的文章就介绍到这了,更多相关JS驼峰字符串转下划线字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
javascript设计模式 – 组合模式原理与应用实例分析
这篇文章主要介绍了javascript设计模式 – 组合模式,结合实例形式分析了javascript组合模式相关概念、原理、应用场景及相关使用注意事项,需要的朋友可以参考下2020-04-04浅谈js中的attributes和Attribute的用法与区别
这篇文章主要介绍了浅谈js中的attributes和Attribute的用法与区别,attributes可以获取一个对象中的一个属性,attributes 属性返回指定节点属性的集合,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧2020-07-07javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
javascript 浏览器 判断 绑定事件 arguments 转换数组 数组遍历等函数2009-07-07
最新评论