一、根据字符返回位置
1 let str = 'abcdefga'; 2 console.log(str.indexOf('a'));//0 3 console.log(str.indexOf('a', 3));//7
二、查找字符串中某个字符出现的位置以及次数
当indexof返回的数值是-1,表明不存在,即是出现的新的数组元素。
1 let str = "abcdefabcd"; 2 let index = str.indexOf('a'); 3 let num = 0; 4 // console.log(index); 5 while (index !== -1) { 6 console.log(index); 7 num++; 8 index = str.indexOf('a', index + 1); 9 } 10 console.log('a出现的次数是: ' + num);//0 6
三、根据位置返回字符
定义一个字符串let str=’abcd’;
- 调用str.charAt()方法,传入的值为索引号(从0开始),返回的值为字符
- str[index],index为数组索引号
- str.charcodeAt()方法,传入的值为索引号,返回的值为ACSII值
四、字符串操作(连接、截取、替换)
- 连接字符串,调用.concat()方法,传入的值为要拼接的字符串,还有一种方法为+号
- 截取字符串,调用.substr()方法,,传入的第一个值为截取的起始位置,传入的第二个值为截取的长度
- 替换字符串,调用.replace()方法,传入的第一个值为被替换的字符,传入的第二个值为想要替换成的新字符
- 字符转数组,调用.split()方法,传入的值为分隔符
五、统计出现最多的字符和次数
利用对象的属性方法,检测,若没有,属性=1,若有,进行属性累+1
1 // 统计出现次数 2 let str = 'abcdefga'; 3 let obj = {}; 4 for (let i = 0; i < str.length; i++) { 5 let chars = str.charAt(i); 6 if (obj[chars]) { 7 obj[chars]++; 8 } else { 9 obj[chars] = 1; 10 } 11 } 12 console.log(obj); 13 let max = 0; 14 // 创建一个变量存放字符 15 let x = ''; 16 // k为属性名 obj[k]为属性值 17 for (let i in obj) { 18 if (obj[i] > max) { 19 max = obj[i]; 20 x = i; 21 } 22 } 23 console.log(max); 24 console.log('最多的字符是' + x);
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/273663.html