前言
牛客网有挺多前端知识的干货,大家快冲!一、牛客前端大挑战11题——将字符串转化为驼峰形式
css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能
- 以 - 为分隔符,将第二个起的非空单词首字母转为大写
- -webkit-border-image 转换后的结果为 webkitBorderImage
function cssStyle2DomStyle(sName) {
let arr = sName.split(''); //split切割字符串,并且转为一个数组
if (arr.indexOf('-') === 0) {
arr.splice(0, 1); //删除匹配到的-,对原来的数组进行删除
}
for (var i = 0; i < arr.length; i++) {
// 如果匹配到的还有-,进行删除,然后将后一个值进行大写
if (arr[i] === '-') {
arr.splice(i, 1); //删除匹配到的-
arr[i] = arr[i].toUpperCase(); //将后一个字符串转为大写
}
}
return arr.join(''); //将数组拼接为一个字符串
}
二、思路
一开始看到这道题的时候,我是打算用正则表达式做的,但是做了一小会发现思路不行,然后就变换了一种思路。
- 先获得字符串,然后将字符串分割成一个数组,进行第一步判断,删除第一个-
- for循环,匹配接下来的-,同样进行删除,然后把后一个数组元素进行大写转换
- for遍历完成,对数组进行字符串拼接,输出字符串
- 结束
总结
敲的越多,解题速度越快!不过这道题有更好的解法,我这种解法只是我的个人思路!