只考虑了大小写,没考虑数字
let str = "documentCaseGood"
// let str = "AZ"
let strHump = "document-case-good"
// 转驼峰
function toHump(str) {
// 分隔每个单词
let targetUrl = str.split("-");
// 从第二个单词开始将首字母大写
for (let i = 1; i < targetUrl.length; i++) {
// 首字母大写
let bigChar = targetUrl[i].substr(0, 1).toUpperCase();
targetUrl[i] = bigChar + targetUrl[i].substr(1)
console.log(targetUrl[i])
}
let ret = targetUrl.join("")
console.log(ret)
}
// 转下划线
function toLine(str) {
// 转数组
let strArr = str.split("");
console.log(strArr)
// console.log(typeof strArr[0])
let idxs = new Array()
// 寻找大写开头的下标
strArr.forEach((item, index) => {
if (item.charCodeAt(0) >= 65 && item.charCodeAt(0) <= 90) {
// console.log(item, index)
idxs.push(index)
}
// console.log(item , typeof item,item.charCodeAt(0));
// return true
})
// 所有大写开头的下标
console.log(idxs)
for(let idx of idxs) {
let target = "-" + strArr[idx].toLowerCase();
strArr[idx] = target;
console.log(strArr)
}
console.log(strArr.join(""))
return strArr.join("")
}
toLine(str)