写一个方法把下划线命名转成大驼峰命名

方法一: 

    function changeName(str) {
        if (typeof str !== 'string') {
          alert('输入的类型不正确')
          return str
        }
        let arr = str.split('_')
        let newStr = arr[0]
        if (arr.length > 1) {
          arr.forEach((item, index) => {
            if (index > 0) {
                item = item.slice(0, 1).toUpperCase() + item.slice(1, item.length)
                newStr+=item
            }
          })
          return newStr
      }
      return str
    }
    console.log(changeName('a_name_sex')) // aNameSex
    console.log(changeName('a')) // a

方法二:

使用正则实现 

        function toCamel(str) {
            if (typeof str !== 'string') {
                alert('输入的类型不正确')
                return str
            }
            str = str.replace(/(\w)/, (match, $1) => `${$1.toUpperCase()}`)
            while (str.match(/\w_\w/)) {
            str = str.replace(/(\w)(_)(\w)/,(match, $1, $2, $3) => `${$1}${$3.toUpperCase()}`)
            }
            return str
        }

        console.log(toCamel('a_name_sex')) // ANameSex
        console.log(toCamel('a')) // A

方法三: 

与方法一原理一致

        function changeName(str) {
            if (typeof str !== 'string') {
                alert('输入的类型不正确')
                return str
            }
            let arr = str.split('_')
            if (arr.length > 1) {
                let newName = arr[0]
                arr.map((item, index) => {
                    if (index > 0) {
                        newName += item.substr(0, 1).toUpperCase() + item.substr(1)
                    } 
                })
                return newName
            }
            return str
      }
      console.log(changeName('a_name_sex')) // aNameSex
      console.log(changeName('a')) // a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值