驼峰转为‘-’连接: let a = 'tuoFengOne'; function change(str){ let tuo = ''; let arr = str.split(''); let newArr = arr.map((ite,idx)=>{ return ite.toUpperCase()===ite?ite='-'+ite.toLowerCase():ite }) tuo = newArr.join(''); return tuo; } console.log(change(a)) 思想:split转为数组,通过转大写是不是等于本身,来判断是否为大写字母,然后map操作数组中每一项数据,大写则改为小写并且‘-’连接,最后join连接成字符串 ‘-’连接转为驼峰: let b = `so-beautiful-are-you`; const handler = (str) =>{ let feng = ``; let arr = str.split(`-`); let newArr = arr.map((ele,idx)=>{ return idx===0?ele:ele[0].toUpperCase()+ele.slice(1) // if(idx===0){ // return ele // }else{ // return ele[0].toUpperCase()+ele.slice(1) // } }) feng=newArr.join(``); return feng; } console.log(handler(b)) 思想:split以‘-’分割成数组,除了第一个字母小写,后续每项的第一个字母大写,加上slice后续的字母,最后jion拼接