如代码,分别实现 diyTrim 及 removeRepetition 函数,并跑通代码中的测试用例。
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>JS里的居民们3</title>
6
7 </head>
8 <body>
9 <script>
10 /*
11 实现一个字符串头尾去除空格的函数
12 注意需要去除的空格,包括全角、半角空格
13 暂时不需要学习和使用正则表达式的方式
14 */
15 function diyTrim(str) {
16 //遍历一下每个字符前后是否为空格,是的话进行切割字符串,直到没有空格,结束循环。
17 for(i=0;i<str.length;i++){
18 if(str[0]==" "||str[0]==" "){
19 str=str.slice(1);
20 }
21 else if(str[str.length-1]==" "||str[str.length-1]==" "){
22 str=str.slice(0,str.length-2);
23 }
24 else{
25 break;
26 }
27 }
28 return str;
29 }
30
31 // 测试用例
32 console.log(diyTrim(' a f b ')); // ->a f b
33 console.log(diyTrim(' ffdaf ')); // ->ffdaf
34 console.log(diyTrim('1 ')); // ->1
35 console.log(diyTrim(' f')); // ->f
36 console.log(diyTrim(' a f b ')); // ->a f b
37 console.log(diyTrim(' ')); // ->
38 console.log(diyTrim(' ')); // ->
39 console.log(diyTrim('')); // ->
40
41 /*
42 去掉字符串str中,连续重复的地方
43 */
44 function removeRepetition(str) {
45 var result = "";
46
47 for(i=0,len=str.length;i<len;i++){//定义len,每次循环都会改变长度
48 if(str[0]==str[1]){//判断前后是否一致
49 str=str.slice(1);//记得赋值给str,不然就是原来的数组。
50 }
51 else{
52 result=result+str[0];//存入不重复的值,并且要往后继续移一个
53 str=str.slice(1);
54 }
55 }
56 return result;
57 }
58
59 // 测试用例
60 console.log(removeRepetition("aaa")); // ->a
61 console.log(removeRepetition("abbba")); // ->aba
62 console.log(removeRepetition("aabbaabb")); // ->abab
63 console.log(removeRepetition("")); // ->
64 console.log(removeRepetition("abc")); // ->abc
65 </script>
66 </body>
67 </html>