内置对象(字符串对象)

字符串对象:

//查找字符串"abcoefoxyozzopp"中所有o出现的位置和次数
		//核心算法:先查找出第一个位置
		//然后,只要indexof返回的结果不是-1 就继续往后查找
		//因为indexOf只能查找一个,所以后面的查找,一定是当前索引加1,从而继续查找
		var str="oabcoefoxyozzopp";
		var num=0;
		var index=str.indexOf('o');
		//console.log(index);
		while(index!=-1){
			console.log(index);
			num++;
			index=str.indexOf('o',index+1);
		} 
		console.log('字符串中o出现的次数是'+num);
		//作业:['red','blue','green','pink','red'],求red出现的位置和次数
		//数组和字符串一样都有indexOf方法,核心算法:先找出第一个出现的位置
		//如果indefOf不等于-1,继续查找,indexOf一次只能查找一次,所以位置向后加1
		var arr=['red','blue','green','pink','red'];
		var num=0;
		index=arr.indexOf('red');
		//console.log(index);
		while(index!=-1){
			console.log(index);
			num++;
			index=arr.indexOf('red',index+1);
		}
		console.log('数组中red出现的次数是:'+num);

//根据位置返回字符charAt,charCodeAt,str[index]

//根据位置返回字符charAt,charCodeAt,str[index]
		var str='andy';
		console.log(str.charAt(0));//返回的是字符a
		console.log(str.charCodeAt(0));//返回的是字符a的ascii码
		console.log(str[3]);//返回的是字符y

统计字符串中出现次数

//统计字符串"abcoefoxyozzopp"中字符出现的次数
		//1、创建一个对象O
		//0.a=1
		//O.b=1
		//O.o+=1
		//核心算法:利用charAt()遍历字符串,如果O中没有,就设置成1,如果有,累加次数
		//遍历对象,得到最大值和该字符
		var str="abcoefoxyozzopp";
		var O={};//创建一个对象
		for (i=0;i<str.length;i++){
			var chars=str.charAt(i);
			if (O[chars]){
				O[chars]+=1;

			}else{
				O[chars]=1;
			}
		}
		console.log(O);

		//遍历对象,找出出现最多的字符和次数
		var max=0;
		var ch='';
		for ( var k in O){
			if(O[k]>max){
				max=O[k];
				ch=k;
			}
		}
		console.log(max);
		console.log(ch);

替换和分割

//替换字符  字符串.replace(被替换的字符,要替换的字符);
		var str='andyandy';
		str=str.replace('a','b');//只会替换一个字符
		console.log(str);
		//如果想要替换对个字符,使用循环
		//字符串"abcoefoxyozzopp"将里面所有的o替换成*
		//使用indexOf判断里面有没有这个字符
		var str1="abcoefoxyozzopp";
		while (str1.indexOf('o')!==-1){
			str1=str1.replace('o','*');

		}
		console.log(str1);


		//分隔字符串---字符串转化成数组用的是split,数组分隔成字符串用的是join
		var str='red,pink,blue';
		console.log(str.split(','));
		var str1='red&pink&blue';
		console.log(str1.split('&'));
		var arr=['red','blue','pink'];
		console.log(arr.join('&'));//数组分隔成字符串

接下来是一个综合案例:

//给定一个字符串,'abaaasdffggghhhjjjkkkggfddsssss3434334'
		//1、字符串的长度
		//2、去除指定位置的字符,如:0,3,5,9
		//3、查找指定字符是否在字符串中,如:i,cb等
		//4、替换指定的字符,如:g替换成22,ss替换成b等操作
		//5、截取指定开始开始位置到结束位置的字符串,如:取1-5之间的字符串
		//6、找出亦或是哪个字符串出现的次数最多的字符歘和出现的次数
		//
		//
		//1、字符串的长度
		var str='abaaasdffggghhhjjjkkkggfddsssss3434334';
		/*console.log(str.length);
		//2、去除指定位置的字符,如:0,3,5,9
		index=[0,3,5,9];
		for (k in index){
			console.log(str[k]);
		}
		//3、查找指定字符是否在字符串中,如:i,c,b等*/
		index=['i','c','b','g','s'];
		console.log(index[0]);
		for (i=0;i<index.length;i++){
			if (str.indexOf(index[i])!==-1){
			console.log(index[i]+'存在字符串中');
			}else{
			console.log(index[i]+'不存在字符串当中');
			}

		}
		//4、替换指定的字符,如:g替换成22,ss替换成b等操作
		for (i=0;i<str.length;i++){
			str=str.replace('g','22');
			str=str.replace('ss','b');
		}
		console.log(str);
		//5、截取指定开始开始位置到结束位置的字符串,如:取1-5之间的字符串
		console.log(str.slice(1,6));
		//6、找出以上哪个字符串出现的次数最多的字符歘和出现的次数
		var o={};//创建一个空对象
		for (i=0;i<str.length;i++){
			var chars=str.charAt(i);//charAt()返回指定位置的元素
			if (o[chars]){
				o[chars]++;
			}else{
				o[chars]=1;
			}
		}
		console.log(o);
		//遍历o里面的元素,找出出现次数最大的元素
		var max=0;//存放次数
		var ch='';//存放字符
		for(var k in o){
			if(o[k]>max){
				max=o[k];
				ch=k;
			}
		}
		console.log(ch,max);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值