找出一段字符串中出现最多的一个字符串,并出现多少次 ---详解

思路分为两个部分
1,将单个字符串循环输出,给到json,并为单个字符串赋予循环重复的次数
2,将json做循环比较出最大次数的字符和次数

  var str="aaaaaaabbbccdfsdafgagfgvfg"
		var json={};        //定义JSON格式的变量,以备后用
	
	//第一部分	
	//遍历字符串,可理解为将每个字符串分别存在json={}里面,而存在json{}里的字符串的赋值则为出现的次数,
	for(var i=0;i<str.length;i++){
		if(!json[str.charAt(i)]){	 //判断json里是否存在遍历到的单个字符串,没有则将他加入进去,并给他的次数赋值为1
				json[str.charAt(i)]=1															
			}else{
				json[str.charAt(i)]++        //若已经在json里存在了,就将他的赋值在加1
		}
		console.log(json)                //最终得到每个字符串和字符串出现的次数,

    //第二部分
		var num=0;                //定义声明一个将用于存放最多次数的变量
		var max=""                //定义声明一个将用于存放最多次数的字符串
		for(var key in json ){     //将json循环,比较
			if(json[key]>num){     //将字符串的赋值与num作比较,
			num = json[key]        //将较大值赋值给num,并继续循环比较,最后的num为最大值
		    max=key	                //将最大值的key,赋值给max
			}
		}
		console.log("最多次数为"+num+"次"+"出现最多次数的字符串为"+max)   //得到结果 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值