大寫帶下劃線轉駝峰,如:REG_NAME 結果為:regName
阿新 • • 發佈:2021-07-08
exportconsttransHump=list=>{
letresultList=[];//最終輸出的陣列
list.map(o=>{
lettmpObj={};//本輪最終被轉換好的物件
for(letiino){
letkey='';
lettmp=i.split('_');//把鍵按下劃線分割成陣列
letlowcaseList=[];//轉換好的鍵,如:REG_NAME 結果為:['reg','Name']
tmp.map(m=>
lowcaseList.push(m.toLowerCase()));//遍歷鍵,並轉換成小寫
//如果鍵由多餘一個單詞構成
if(lowcaseList.length>1){
for(leti=1,len=lowcaseList.length;i<len;i++){
lowcaseList[i]=lowcaseList[i].slice(0,1).toUpperCase()+lowcaseList[i].slice(1);//從第二個單詞開始,每個單詞的首字母轉換成大寫
}
}
key=lowcaseList.join('');//拼接
tmpObj[key]=o[i];//把鍵對應的值賦值到新物件中
}
resultList.push(tmpObj);//把本輪轉換好的物件push到最終要輸出的陣列中
});
//console.log(resultList);
returnresultList;
}