算法题一:字符串的删除截断

用javascript把一个带有下划线的命名变成驼峰命名

例:

body_bottom_right
转换为:BodyBottomRight

思路:
一.首先我们要分清数组和字符串;

数组:
在这里插入图片描述
字符串:

在这里插入图片描述
二. 用到的方法是字符串的删除截断函数

1.split()方法
用于把一个字符串分割成字符串数组
语法:
string.split( separator,limit)

  • separator:
    可选,字符串或正则表达式,从该参数指定的地方分割string Object

  • limit:
    可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度

  • 返回值类型:Array
    一个字符串数组,该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身

例1:

//省略分割参数:
var str="How are you doing today?";
var n=str.split();
//输出结果n : How are you doing today?

例2:

//分割每个字符,包括空格:
var str="How are you doing today?";
var n=str.split("");
//输出结果n :["H","o","w"," ","a","r","e"," ","y","o","u"," ","d","o","i","n","g"," ","t","o","d","a","y"]

例3:

//使用 limit 参数:
var str="How are you doing today?";
var n=str.split(" ",3);
//n 将输出3个数组的值: How,are,you

例4:

//使用一个字符作为分隔符:
var str="How are you doing today?";
var n=str.split("o");
//n 输出数组值得结果: H,w are y,u d,ing t,day?

2.join()方法
用于把数组中的所有元素转换成一个字符串

语法:array.join(separator)

  • separator:
    可选,指定要使用的分隔符,如果省略该参数,则使用逗号作为分隔符

  • 返回值类型: String
    返回一个字符串,该字符串是通过arrayObject的每个元素转换为字符串,然后把这个字符串连接起来,在两个元素之间插入separator字符串而生成的

例1;

//把数组中的所有元素转换为一个字符串:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();
//energy输出结果:Banana,Orange,Apple,Mango

例2:

//使用不同的分隔符:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join(" and ");
//energy 结果输出:Banana and Orange and Apple and Mango

例3:
也可以用join画一个表格;

var array=[1,2,3];
var result="<table><tr><td>" + array.join("</td><td>") + "</td></tr></table>";

输出结果为:

<table>
           <tr>
               <td>1</td>
               <td>2</td>
               <td>3</td>
           </tr>
</table>

三.能把字符串分开之后得到数组,要遍历整个数组
注意array(0)是数组的第一项
需要用到for循环去遍历整个数组
首先
“body”,“bottom”,“right”
是三个数组,长度为3
要从0遍历到2

for(var i=0;i<arr.length;i++){
}

这样我们就拿到了每一项

四.拿到每一项的首字母用到的函数是charAt()
注意:这个函数也是从0开始索引

五.拿到首字母之后就要把它们变成大写,用到的函数是toUpperCase()

六.拿出首字母分别变成大写之后,原数组是不会改变的,所以我们需要重新定义一个新的空数组,或者空字符串来接收这个值

七.小写字母也要加进去,所以要注意
"="代表每次循环,输出结果等于这次循环的这个值,会覆盖上一次的数据
"+="代表每次进入循环,都会带着上一次的数据,并且接收这一次的数据

八.接收的空字符串之后再加上剩下的小写字母,此时用到的函数为数组截取函数
在这里插入图片描述

最终的代码为:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>javascript写一个方法把下划线命名转换为驼峰命名</title>
</head>
<body>

</body>
<script>
    var str="body_bottom_right";
    var arr=str.split("_");//删除了下划线变成了数组
    var str1="";//定义一个空字符串去接收遍历出来的首字母大写的字符串
    for(var i=0;i<arr.length;i++){   //用循环去遍历每个数组
        str1+=arr[i].charAt(0).toUpperCase()+arr[i].slice(1)


    }
  console.log(str1)
</script>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值