1. 字符串的不可变
指里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中开辟了一个新的内存空间。
2.根据字符返回位置:indexOf()
字符串的所有方法,都不会修改字符串本身,因为字符串的不可变性,操作会返回一个新的字符串。
//根据字符返回位置
var str2 = ('owdbhjsojhbdobfsueyeiwaaio');
var index = str2.indexOf('o');
var num = 0;
while(index !== -1){
console.log(index);
num++;
index = str2.indexOf('o',index+1)
}
console.log('o出现的次数是:'+num);
3.根据位置返回字符
方法名 | 说明 | 使用 |
---|---|---|
charAt(index) | 返回指定位置字符 | str.charAt(0) |
charCodeAt(index) | 获取指定位置处字符的ASCⅡ码(index索引号) | str.charCodeAt(0) |
str[index] | 获取指定位置处字符 | HTML5,IE8+支持,和charAt等效 |
//根据位置返回字符
console.log(str2.charAt(3)) //b
console.log(str2.charCodeAt(3)) //98
实例:返回出现次数最多的字符,并统计其次数
//判断字符串出现次数最多的字符,并统计其次数
var o = {}
for(var i = 0;i<str2.length;i++){
var chars = str2.charAt(i); //取出字符串的每一个字符
if(o[chars]){
o[chars]++;
}else{
o[chars] = 1;
}
}
console.log(o);
var max = 0;
var ch = '';
for(var j in o){
// j得到的是属性名,o[j]得到的是属性值
if(o[j]>max){
max = o[j];
ch = j;
}
}
console.log(max);
console.log('最多的字符是'+ch);
4. 字符串操作方法
方法名 | 说明 |
---|---|
concat(str1,str2,……) | 连接两个或多个字符串。拼接字符串,等效于+,+更常用 |
substr(start,length) | 从start开始(索引号),length取的个数 |
slice(start,end) | 从start开始,截取到end的位置,end娶不到 |
substring(start,end) | 从start开始,截取到end,基本和slice相同,但是不接受负值 |
.replace(被替换的,替换为) | 只会替换第一个字符 |
.split('分隔符') | 字符转换为数组,前提是字符串由分隔符分开 |
toUpperCase() | 转换大写 |
toLowerCase() | 转换小写 |