首页 > 试题广场 >

将字符串转换为驼峰格式

[编程题]将字符串转换为驼峰格式
  • 热度指数:42901 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能
1. 以 - 为分隔符,将第二个起的非空单词首字母转为大写
2. -webkit-border-image 转换后的结果为 webkitBorderImage
示例1

输入

'font-size'

输出

fontSize
function cssStyle2DomStyle(sName = '') {
  return sName.replace(/^-/, '').replace(/-\w/g, (v) => {
    return v.charAt(1).toUpperCase()
  })
}
发表于 2023-06-29 14:29:51 回复(0)
    function cssStyle2DomStyle(sName) {
        const str = sName.split("-");
        const newStr = str.map((item, index) => {
          // 跳过第一个元素或者第一个元素为空(以横线开始)的情况
          if (!index || !str[index - 1]) {
            return item;
          } else {
            return item.slice(0, 1).toUpperCase() + item.slice(1, item.length);
          }
        });
        return newStr.join("");
      }

发表于 2023-06-06 15:30:33 回复(0)

function cssStyle2DomStyle(sName) {
    return sName.split("-").filter(str=>str!=="").map((word,index)=>index===0?word:word[0].toUpperCase()+word.slice(1)).join("");
}

发表于 2023-05-11 18:06:31 回复(0)
function cssStyle2DomStyle(sName) {
    let arr = sName.split('-').filter(i => i!='')
    let first = arr.shift()
    let res =''
    for(let str of arr){
        str = str[0].toUpperCase() + str.slice(1)
        res +=str
    }
    return first+res
}


发表于 2023-05-08 22:42:08 回复(0)
function cssStyle2DomStyle(sName) {
    const str = sName[0] === '-' ? sName.slice(1) : sName
    return str.split('-').map((item, index) => {
        let res = item
        if(index > 0) {
            const firstChar = res[0]
            res = res.replace(firstChar, firstChar.toUpperCase())
            // 或
            // res = firstChar.toUpperCase() + res.slice(1)
        }
        return res
    }).join('')
}

发表于 2023-03-11 21:40:13 回复(0)
function cssStyle2DomStyle(sName) {
    let arr = sName.split("-");
    if(!arr[0]) arr.shift()
  for (let i in arr) {
    if (i >= 1) {
      let v = arr[i];
      let varr = v.split("");
      varr[0] = varr[0].toUpperCase();
      arr[i] = varr.join("");
    }
  }
  return arr.join("");
}
发表于 2023-03-07 21:50:18 回复(0)
 function cssStyle2DomStyle(sName) {
            var arr = sName.split("-").filter(item => item)
            var str = ""
            for (var i = 0; i <= arr.length - 1; i++) {
                if (i == 0) {
                    str += arr[0]
                } else {
                    str += arr[i][0].toUpperCase()
                    for (var j = 1; j <= arr[i].length - 1; j++) {
                        str += arr[i][j]
                    }
                }
            }
            return str
        }
发表于 2023-02-09 17:29:11 回复(0)
function cssStyle2DomStyle(sName) {
    return sName.replace(/(-\w)/g,function(match,$1,index){
        return index!==0 ?$1.slice(-1).toUpperCase():$1.slice(1)
   })
}
发表于 2022-12-11 00:05:46 回复(0)
function cssStyle2DomStyle(sName) {
            let arr = sName.split("-")
            if(arr[0] !== ''){
                let fir = arr[0]
                for(i=1;i<arr.length;i++){
                    let a = arr[i].charAt(0).toUpperCase()
                    let b = arr[i].slice(1)
                    arr[i] = a + b
                }
                return arr.join("")
            }else{
                let fir = arr[1]
                for(i=2;i<arr.length;i++){
                    let a = arr[i].charAt(0).toUpperCase()
                    let b = arr[i].slice(1)
                    arr[i] = a + b
                }
                return arr.join("")
            }
        }
发表于 2022-11-14 21:38:18 回复(0)
function cssStyle2DomStyle(sName) {
    if(sName.charAt(0) === '-') sName = sName.substring(1)
    let arr = sName.split('-')
    let res = arr.shift()
    for(let i = 0;i<arr.length;i++){
        let tmp = arr[i].charAt(0).toUpperCase() + arr[i].slice(1)
        res = res + tmp
        
    }
    return res
}

发表于 2022-10-31 16:50:56 回复(0)
let arr = sName.split('')
    let indexArr = []
    arr.forEach((item,index)=>{
      if(item === '-'&&index!==0)
      {
        indexArr.push(index)
      }
    })
    for(let i = 0;i<indexArr.length;i++)
    {
      arr.splice(indexArr[i]+1,1,arr[indexArr[i]+1].toUpperCase())
    }
    returnarr.join('').replace(/[-]/g,'')
发表于 2022-10-26 16:46:26 回复(0)
function cssStyle2DomStyle(sName) {
  let patten = /-[a-z]/g
  return sName.replace(patten, (item, index) => index === 0 ? item[1] : item[1].toUpperCase())
}

发表于 2022-10-24 16:56:39 回复(0)
function cssStyle2DomStyle(sName) {
    var arr = sName.split("-");
    if (arr[0] == "") arr.shift();
    return arr.map((item, index) =>index != 0 ? item.substr(0, 1).toUpperCase() + item.substr(1) : item).join("");
}
发表于 2022-08-19 14:33:16 回复(0)
function cssStyle2DomStyle(sName) {
    let a = sName.split('-')
    if (a[0] == '') {
        a.splice(0, 1)
    }
    for (let i = 1; i < a.length; i++) {
        a[i] = a[i][0].toUpperCase() + a[i].substring(1)
    }
    return a.join('')
}

发表于 2022-07-31 22:04:38 回复(0)
 function cssStyle2DomStyle(sName) {
      
      let result = sName.split('-')
      for (let i = 1; i < result.length; i++) {
         // 判断第一个是否为-
        if(result[i-1]==""){
          i+=1; // 前进一步
        }
          // 实现首字母大写
        result[i] = result[i].substring(0, 1).toUpperCase() + result[i].substring(1)
        
      }
      
      return result.join(""); // 转为字符串
    }

发表于 2022-07-14 16:22:46 回复(0)
function cssStyle2DomStyle(sName) {
    sName = sName.replace(/\-[A-z]/g,function(val){
        return val.slice(1).toLocaleUpperCase()
    })
    sName = sName.replace(/^[A-z]/,val=>val.toLocaleLowerCase())
    return sName
}

发表于 2022-07-11 15:21:01 回复(0)
function cssStyle2DomStyle(sName) {
    return sName.replace(/^-/g,"").replace(/-./g,(val,$1)=>{return val.replace(/-/,"").toUpperCase();})
}

发表于 2022-03-01 21:57:56 回复(0)
function cssStyle2DomStyle(sName) {
    if(sName.includes('-')){
        var arr = sName.split('-');
        if(/^-/.test(sName)){
            arr.shift();
        }
        for(var i=1;i<arr.length;i++){
            arr[i]= Array.from(arr[i])[0].toUpperCase() + arr[i].slice(1);
        }
        return arr.join('')
    }
    return sName;
}

发表于 2022-02-16 14:18:17 回复(0)
我的笨办法🤣
function cssStyle2DomStyle(sName) {
let nameArr = sName.split('-')
if (nameArr[0] == '') {
                nameArr.splice(0, 1)   
            }
for (var i = 1; i < nameArr.length; i++) {
                
    let initial = nameArr[i][0].toUpperCase()
                    
    nameArr[i] = nameArr[i].replace(nameArr[i][0], initial)
               
}
            return nameArr.join('')
}


发表于 2022-01-18 13:32:36 回复(0)

问题信息

难度:
44条回答 22819浏览

热门推荐

通过挑战的用户

查看代码