我有一个 kebabize 函数,可以将 camelCase 转换为 kebab-case。我正在分享我的代码。可以更优化吗?我知道这个问题可以使用正则表达式来解决。但是,我想在不使用正则表达式的情况下做到这一点。
const kebabize = str => {
let subs = []
let char = ''
let j = 0
for( let i = 0; i < str.length; i++ ) {
char = str[i]
if(str[i] === char.toUpperCase()) {
subs.push(str.slice(j, i))
j = i
}
if(i == str.length - 1) {
subs.push(str.slice(j, str.length))
}
}
return subs.map(el => (el.charAt(0).toLowerCase() + el.substr(1, el.length))).join('-')
}
kebabize('myNameIsStack')
原文由 Stack 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以检查每个字母是否为大写并替换它。