题目:JavaScript编程题 查找字符串"sdddrtkjsfkkkasjdddj"中出现次数最多的字符和次数。

方法一:用indexOf的方式逐一对比查找
<script type="text/javascript">
	window.onload = function() {
		// 定义一个字符串
		var str = "sdddrtkjsfkkkkkkkasjdkddjk";
		// 记录次数
		var count = 0;
		
		// 定义字母
		var strMax = "";
		// 循环查找
		for (var i = 0; i < 26; i++) {
			var countTemp = 0;
			var varStr = String.fromCharCode(97+i);
			// 循环嵌套
			for (var m = 0; m < str.length; m++) {
				var n = str.indexOf(varStr,m);
				if (n > -1) {
					// 计数变量自增
					countTemp++;
					// 修改查找起始位置
					m = n;
				}
			}
			// 判断出现的次数是否大于之前的次数
			if(countTemp > count){
				// 保存大数
				count = countTemp
				strMax = varStr;
			}
			
		}
		// 输出
		console.log("出现最多次数的字母是:"  + strMax + ",出现次数为:" + count);
		
	}
</script>
方法二:将字符串切割为数组然后再循环数组对比
<script type="text/javascript">
	window.onload = function() {
		// 定义一个字符串
		var str = "sdddddddddrtkjsfkkkkkkkasjdkddjk";
		// 将字符串切割为数组
		var strArr = str.split("");
		// 定义最大次数
		var maxCount = 0;
		// 定义保存最大的字符串
		var maxStr = "";
		// 循环数组
		for(var i = 0; i < strArr.length; i++){
			// 定义计数器
			var count = 0;
			// 循环嵌套
			for(var m = 0; m < strArr.length; m++){
				// 对比数组中每个字符
				if(strArr[i] == strArr[m]){
					// 相等则计数器增加
					count++;
				}
			}
			// 比较字符出现的次数是否为最大,如果最大就保存进最大变量
			if(count > maxCount){
				maxCount = count;
				// 将最大的字符串保存
				maxStr = strArr[i]
			}
		}
		console.log("出现最多次数的字母是:"  + maxStr + ",出现次数为:" + maxCount);
	}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值