function humpName (params) { //分割字符串为数组 var arr = params.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+1] arr[i] = arr[i].toUpperCase() //将元素变成大写,此时的arr[i]是上一步操作时的arr[i+1] } } return arr.join('') //把数组连接为字符串返回 } var str = '-sort-arr-fun'; console.log(humpName(str))
横线命名换成驼峰命名
函数解释:
1、传入参数,对参数进行处理,使用split()分割字符串为数组;
split()(把一个字符串分割成字符串数组,参数就是分割的界限)
2、下面的操作是将出现的横线(-)全部删除,并将下一个字母改变成大写,但是驼峰命名的首字母是小写,防止字符串是以(-)开头,后面的操作会把首字母也改变,所以在这里对第一个元素进行判断,如果是(-)就删除它。
splice() 添加或删除数组中的元素,方法会改变原始数组,第一个参数为操作的位置,第二个参数为删除的数量,第三个可选参数是要添加到该位置的新元素
3、遍历数组,对每个元素进行判断操作,如果该元素为(-) 删除该元素,将下一个元素变成大写
4、最后把数组连接为字符串返回