abc-def-ghi轉為駝峰格式abcDefGhi的幾種方法

冰影浴火發表於2018-04-05
  1. 使用正則
const STR = 'abc-def-ghi'
const REG = /-[a-z]/g
let result = STR.replace(REG, function (res) {
    return res.charAt(1).toUpperCase() // 處理每一個替換結果
})
console.log(result)

// abcDefGhi
複製程式碼

原理是用正則選擇出要替換的部分,然後採用replace方法替換。

  1. 轉換為陣列
const STR = 'abc-def-ghi'
let aStr = STR.split('-')
let result = aStr.reduce((pre, cur) => { // 使用reduce方法處理陣列
    let curHead = cur.charAt(0)
    let resultChunk = cur.replace(curHead, curHead.toUpperCase()) // 轉化為首字母大寫
    return pre + resultChunk
})
console.log(result)

// abcDefGhi
複製程式碼

原理是把字串轉換為陣列,再通過reduce方法,轉換成駝峰式

  1. indexOf查詢
let str = 'abc-def-ghi'
let count = 0
while (count >= 0) {
    count = str.indexOf('-', count + 1) // 查詢'-'出現的位置,並通過迴圈依次查詢
    if (count === -1) break // 找不到就直接返回
    let replaceStr = '-' + str.charAt(count + 1)
    str = str.replace(replaceStr, replaceStr.charAt(1).toUpperCase())
}
console.log(str)

// abcDefGhi
複製程式碼

原理是通過indexOf查詢出要替換的位置,然後利用迴圈一次替換這些位置。

相關文章