javascript中字符串对象介绍

1,根据字符返回位置(indexof(),lastindexof())

在这里插入图片描述
在这里插入图片描述

// 1 charAt() 根据位置返回字符
			var str='andy';
			console.log(str.charAt(3)); //输出y
			// 2 charCodeAt(index)返回索引号的ASCII码 目的,判断用户按下了那个键
			console.log(str.charCodeAt(1));
			// 3 str[index]
			console.log(str[1]);//n

题目: 查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
思路:
1先查找第一个o出现的位置
2然后 只要indexOf 返回的结果不是 -1 就继续往后查找
3因为indexOf 只能查找到第一个,所以后面的查找,利用第二个参数,当前索引加1,从而继续查找

var str="abcoefoxyozzopp";
		var index=str.indexOf('o');  //记录第一次o出现的位置 
		var num=0;//记数
		while(index!==-1){  //不存在就返回-1退出循环
			console.log(index);
			index=str.indexOf("o",index+1);
			num+=1;
		}
		console.log(num);

题目:判断一个字符串 ‘abcoefoxyozzopp’ 中出现次数最多的字符,并统计其次数。
思路:
1核心算法:利用 charAt() 遍历这个字符串
2把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1
3遍历对象,得到最大值和该字符

var str="abcoefoxyozzopp";
			var chars=[];//这是一个对象,不是数组
			for(var i =0 ;i<=str.length-1;i++){ 
				  var o =str.charAt(i); //返回字符
				  if(chars[o]){//判断对象中有没有字符,有就加1 没有就重新建立
					  chars[o]+=1;
				  }else{
					  chars[o]=1;
				  }
			}
			console.log(chars);
			var k=0;
			var max =0;
			var ch=""
			for (k in chars){
				if (chars[k]>max){
					max=chars[k];
					ch=k;
				}
			}
			console.log(typeof(chars));
			console.log("出现次数最多的字符是"+ch);
			console.log(max);

2,字符串操作方法(重点)

在这里插入图片描述

	// 字符串操作方法返回字符串
			// 1 concat(string1,string2)拼接字符串
			var str="andy";
			console.log(str.concat("rad",'green'));//andyredgreen
			// 2 substr(取的位置(索引号),取的长度)返回字符串
			var str='改革春风吹满地';
			console.log(str.substr(2,2));//春风
			// 3 替换字符 replace 返回字符串 只会替换一个字符
			var str ="改革春风吹满地";
			console.log(str.replace("春","秋"));//改革秋风吹满地
                // 替换多个字符
			var str="abcoefoxyozzopp";
			while(str.indexOf('o')!=-1){
			 str=str.replace("o",'a');
			}
			console.log(str);
			// 字符串转化为数组 spilt();
			var str="blue,green,pink";
			// 字符串用什么分隔符,spilt里面就用什么分隔符
			console.log(str.split(','));
			var str="blue&green&pink";
			console.log(str.split('&'));

3,字符串的大小写

// 转化大写toUpperCase(全部大写).小写toLowerCase(全部小写);
			var str1="str";
			var str2="Str";
			console.log(str1.toUpperCase());
			console.log(str2.toLowerCase());
			// 首字母大小写的方法 利用替换replace()
			console.log(str1.replace(str1[0],str1[0].toUpperCase()));
			console.log(str1.replace(str2[0],str2[0].toLowerCase()));

4,作业

给定一个字符串,如:“abaasdffggghhjjkkgfddsssss3444343”,问题如下

// 		给定一个字符串,如:“abaasdffggghhjjkkgfddsssss3444343”,问题如下: 
			var str ="abaasdffggghhjjkkgfddsssss3444343";
	// 		1、 字符串的长度 
			console.log(str.length);
	// 		2、 取出指定位置的字符,如:0,3,5,9等
	        console.log(str[0]); 
	// 		3、 查找指定字符是否在以上字符串中存在,如:i,c ,b等 
				var index=str.indexOf("i");
				if (index!=-1){
					console.log("存在");
				}else{
					console.log("不存在");
				}
	// 		4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法 
	            // console.log(str.replace("g",22));
	// 		5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
	              console.log(str.substr(1,5));
	// 		6、 找出以上字符串中出现次数最多的字符和出现的次数 
	             var newarray={};
				 for (var i=0;i<=str.length-1;i++){
					 var strs=str[i];
					 if(newarray[strs]){
						 newarray[strs]+=1;
					 }else{
						 newarray[strs]=1;
					 }
				 }
				 console.log(newarray);
				 var max=0;
				 var ch="";
				 for ( var k in newarray){
					   if (newarray[k]>max){
						   max=newarray[k];
						   ch=k;
					   }
					  
				 }
				 console.log(max);
				 console.log("出现次数最多的字符是"+ch);
	// 		7、 遍历字符串,并将遍历出的字符两头添加符号“@”
				var str ="abaasdffggghhjjkkgfddsssss3444343";
				console.log(str.concat("@"));
				var newstr="";
	            for (var j=0;j<=str.length-1;j++){
					  if (j==0){
						  newstr="@"+str[0];
					  }else if(j==str.length-1){
						  newstr=newstr+str[j]+"@";
					  }else{
						  newstr+=str[j];
					  }
					}
					console.log(newstr);
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值