方法一:
function changeName(str) {
if (typeof str !== 'string') {
alert('输入的类型不正确')
return str
}
let arr = str.split('_')
let newStr = arr[0]
if (arr.length > 1) {
arr.forEach((item, index) => {
if (index > 0) {
item = item.slice(0, 1).toUpperCase() + item.slice(1, item.length)
newStr+=item
}
})
return newStr
}
return str
}
console.log(changeName('a_name_sex')) // aNameSex
console.log(changeName('a')) // a
方法二:
使用正则实现
function toCamel(str) {
if (typeof str !== 'string') {
alert('输入的类型不正确')
return str
}
str = str.replace(/(\w)/, (match, $1) => `${$1.toUpperCase()}`)
while (str.match(/\w_\w/)) {
str = str.replace(/(\w)(_)(\w)/,(match, $1, $2, $3) => `${$1}${$3.toUpperCase()}`)
}
return str
}
console.log(toCamel('a_name_sex')) // ANameSex
console.log(toCamel('a')) // A
方法三:
与方法一原理一致
function changeName(str) {
if (typeof str !== 'string') {
alert('输入的类型不正确')
return str
}
let arr = str.split('_')
if (arr.length > 1) {
let newName = arr[0]
arr.map((item, index) => {
if (index > 0) {
newName += item.substr(0, 1).toUpperCase() + item.substr(1)
}
})
return newName
}
return str
}
console.log(changeName('a_name_sex')) // aNameSex
console.log(changeName('a')) // a