博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript输出一个字符串中出现次数最多的字符
阅读量:6443 次
发布时间:2019-06-23

本文共 1559 字,大约阅读时间需要 5 分钟。

hot3.png

一、利用普通方式实现

//JavaScript输出一个字符串中出现次数最多的字符	function strMax(str) {		var obj = {};			//保存每个字符出现的次数( key:字符,value:出现的次数 )		var returnValue = {};	//返回值:最大字符和出现次数		var values = [];		//保存每个字符出现的次数		if (typeof str !== 'string') {	//如果传入的参数不是字符串,返回"";			return "";		}		for (var i = 0; i < str.length; i++) {	//循环每个字符串里的每个字符			var value = str[i];					if (!obj[value]) {				//如果当前obj对象里没有这个字符属性				obj[value] = 1;				//添加这个属性,并为这个属性赋值为1			} else {				obj[value]++;				//如果当前obj对象里存在这个字符属性,则value值+1			}		}			for (var item in obj) {			//遍历添加字符属性后的对象属性			values.push(obj[item]);		//把字符出现的字数加入数组		}		values.sort(function(value1, value2) {		//从大到小排序数组			if (value1 < value2) {				return 1;			} else if (value1 > value2) {				return -1;			} else {				return 0;			}		});			var maxNum = values[0];		//获取数组第一个value值 如:5		for (var item in obj) {		//重新遍历对象属性			if (obj[item] === maxNum) {	//如果对象属性的值等于maxNum				var maxValue = item;	//获取属性赋值给maxValue			}		}			if (!returnValue[maxValue]) {	//如果returnValue对象没有maxValue属性			returnValue[maxValue] = maxNum;	//则添加,并赋值maxNum。		}			return returnValue;		//返回returnValue对象	};

这个JavaScript函数没有做到如果出现的次数相同的字符,就全部输出。只实现了单个输出。

 

二、利用正则表达式来实现

//使用正则表达式判断	function strMax1( str ){						var maxShow = {count:0,value:""};		//保存最大字符出现的次数( key:字符,value:出现的次数 )				var regs,tempStr,tempCount;		//正则匹配,临时最大字符,临时最大字符出现次数				for (var i = 0;i
maxShow.count ){ //如果当前获取的字符串长度大于已经保存的字符串长度,则替换。 maxShow.count = tempCount; maxShow.value = str[i]; } } } return maxShow; };

 

转载于:https://my.oschina.net/tianshuo/blog/739439

你可能感兴趣的文章
Android.util.Log 关于Android开发中打印log
查看>>
转:Python yield 使用浅析 from IBM Developer
查看>>
仪表板颜色
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
mysql oom之后的page 447 log sequence number 292344272 is in the future
查看>>
chrome禁用某个网站js脚本的执行
查看>>
数组排序 和 二分法查找
查看>>
MongoDB C Driver Building on Windows
查看>>
备忘zookeeper(单机+伪集群+集群)
查看>>
无需编译、快速生成 Vue 风格的文档网站
查看>>
AtomicBoolean介绍与使用
查看>>
Elasticsearch之curl删除
查看>>
Apache Spark 内存管理详解(转载)
查看>>
JS隐藏号码中间4位
查看>>
windows下安装Rabbitmq详解
查看>>
HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
查看>>
SQL Server索引 - 索引(物化)视图 <第九篇>
查看>>
[原创]FineUI秘密花园(一) — 为什么选择FineUI?
查看>>
这一文让你彻底理解Spring框架的意义
查看>>
消息中间件Kafka与RabbitMQ谁更胜一筹?
查看>>