JavaScript 範例
在 JavaScript 將 snake_case 轉為 camelCase
對可預測的 snake_case,以底線切分,第一個 token 保持小寫,後續 token 首字母大寫。
JavaScript 程式碼
function snakeToCamel(value) {
const parts = value.trim().replace(/^_+|_+$/g, "").split(/_+/).filter(Boolean)
if (parts.length === 0) return ""
return parts[0].toLowerCase() + parts.slice(1).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("")
}
snakeToCamel("user_profile_image")
// "userProfileImage"移除前後底線並處理重複底線,避免產生空 token。
這種方法適合真正的 snake_case;縮寫、連字號、空白或 PascalCase 混合時需要更通用的 tokenizer。
需要考慮的邊界案例
- API/URL 等縮寫可能需要專案特定 casing 規則。
- user_profile-URL 這類混合輸入需要更廣泛的 tokenization。
- 轉換單一字串與遞迴轉換物件鍵名是兩個不同問題。
- 產生的變數名稱可能還需要檢查保留字與識別字合法性。
範例
| 轉換前 | 轉換後 |
|---|---|
| user_profile_image | userProfileImage |
| __user__profile__ | userProfile |
| api_response_url | apiResponseUrl |
| created_at | createdAt |
JavaScript 程式碼
const cases = [
["user_profile_image", "userProfileImage"],
["__user__profile__", "userProfile"],
["api_response_url", "apiResponseUrl"],
["created_at", "createdAt"],
]
for (const [input, expected] of cases) {
console.assert(snakeToCamel(input) === expected, input)
}線上測試轉換
使用瀏覽器工具快速檢查、批次處理、縮寫或混合命名格式。
偵測:snake_case
camelCase 輸出
userProfileImageUrl
所有命名格式
camelCase
userProfileImageUrlPascalCase
UserProfileImageUrlsnake_case
user_profile_image_urlkebab-case
user-profile-image-urlCONSTANT_CASE
USER_PROFILE_IMAGE_URLdot.case
user.profile.image.urlpath/case
user/profile/image/url轉換會在瀏覽器本機執行,輸入不會傳送到轉換伺服器。