function isUpperCase(ch) { return /^[A-Z]$/.test(ch) } function isLowerCase(ch) { return /^[a-z]$/.test(ch) } function convert(str) { let arr = []; for(i = 0; i < str.length; i++) { const preSmall = i > 0 ? isLowerCase(str[i-1]) : false; // 前方是否為小寫 let ch = str[i]; if(isUpperCase(ch)) { ch = ch.toLowerCase(); if(preSmall) { ch = '_' + ch; } } arr.push(ch); // console.log(str[i]); } console.log(arr.join('')); return arr.join(''); } convert('Budget_BalanceSheet');
最終輸出結果為:budget_balance_sheet