我有一个kebabize函数,可以将camelCase转换为kebab-case。这是我的代码。它能否更加优化?我知道可以使用正则表达式来解决这个问题。但是,我想在不使用正则表达式的情况下完成。
我有一个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')