JS求任意字符串中出现最多的字符以及出现的次数
我爱撸码,撸码使我感到快乐!
大家好,我是Counter
本节讲讲如何利用JS来查找任意给定的字符串,求字符串中出现次数最多的字符,出现的次数。
直接上代码了,该注释的都注释啦。非常轻松加愉快。
效果如下: (当然你也可以自己随便定义一个字符串,传进函数,就可以求出值了)
代码给出,还是老样子,每行都注释。欢迎一起技术探讨,一起进步。
// 随意定义一个字符串
var str = "111iiiw2shhfel000"; // 定义函数
function num(str) {
// 定义一个空对象,因为这边要求出现最多次数,以及出现的字符,这边使用对象的方式再合适不过了,键值对的形式
var obj = {};
// 求出字符串的长度
var len = str.length;
// for循环如果遍历整个字符串
for( var i = 0; i < len; i++) {
// 将每个字符赋值给alpha
var alpha = str[i];
// 如果定义的obj里有这个字符的话,那么这个字符的值加1
if ( obj[alpha] ) {
obj[alpha]++;
}
// 否则的话这个字符的值等于1,刚开始肯定都是走这边,因为对象使我们定义的空对象,现在才开始增加属性
else {
obj[alpha] = 1;
}
}
// 随意定义一个出现最多的次数
var maxNum = -1;
// 遍历obj对象
for( key in obj) {
// 求出obj里出现最多字符的次数并且赋值给maxNum
if ( obj[key] > maxNum) {
maxNum = obj[key];
}
}
// 定义一个空数组
var maxKey = [];
// 再次遍历obj对象
for( key in obj) {
// 如果当前的obj里的字符出现次数等于maxNum的话,就像我们定义的空数组里添加这个字符
if ( obj[key] == maxNum) {
maxKey.push(key);
}
}
// 将结果打印出来
console.log('出现最多次数的字符是:' + maxKey + ' 出现次数为:' + maxNum);
}
JS求任意字符串中出现最多的字符以及出现的次数的更多相关文章
- Javascript 查找字符串中出现最多的字符和出现的次数
<script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...
- [JS]计算字符串中出现最多的字符和其出现次数
这是一道面试题 此处是利用Obj来解决的,当然不只此一种方法. //思路:遍历数组,拿到一个字符,并将之以 "字符":出现次数 的key:value形式存到对象中. //如果此字符 ...
- [java] 找出字符串中出现最多的字符和出现的次数
逛园子看到一童鞋做的华为上机题目,写来好长的代码,懒得看,感觉不可能这么难,于是动手敲了下. import java.util.Scanner; public class StringTest { / ...
- hash数组快速查找一个字符串中出现最多的字符,并统计出现的次数
如何快速查找一个字符串中出现最多的字符,并统计出现的次数? 可以使用hash数组,也就是关联数组实现快速查找功能. function seek(str) { var hash = []; var ma ...
- Js练习题之查找字符串中出现最多的字符和个数
如sssfgtdfssddfsssfssss,出现最多的字符是s,出现了12次 传统写法 分析: 1.准备一个空的json,通过循环字符串的每个字符来看,如果json里没有这个字符,就在json里创建 ...
- js--找字符串中出现最多的字符
在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt ...
- C/C+面试题一:找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)
已知字符串"aabbbcddddeeffffghijklmnopqrst"编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2) /********************* ...
- javascript计算字符串中出现最多的字符和个数
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <t ...
- JavaScript知识之判断字符串中出现最多的字符及次数
var str = 'asdddasdfdseeeeeweeeeeeeeeeeee'; var json = {}; // 定义json一个对象 for(var i = 0; i < str.l ...
随机推荐
- mysql中的事物处理
首先,事物的概念,保证一组sql语句操作的完整性,在这个过程中要充分考虑到多用户同时访问数据库数据的情况. 关键词有COMMIT,ROLLBACK,,START TRANSACTION
- 下载Crypto,CyCrypto,PyCryptodome 报错问题
python下载Crypto,CyCrypto,PyCryptodome,如有site-packages中存在crypto.pycrypto,在pip之前,需要pip3 uninstall crypt ...
- git checkout --theirs(ours)
假设原来有文件A,程序员甲把A进行了完全的重写,而甲在自己的branch工作的同时,他的同事程序员乙则对A进行了一个优化.这样,当甲想要merge的时候,A文件就有很多的冲突,可能多达几百行. 这时候 ...
- python中元组与数组的区别
列表: a=['12', '3rr'] 元组: t=(21,34) 列表可以修改,而元组不可以修改,如果元组中仅有一个元素,则要在元素后加上逗号. 元组和列表的查询方式一样. 元组只可读不可修改. 如 ...
- 使用dom4j中SAXReader解析xml数据
public ApiConfig(String configFilePath) throws DocumentException{ SAXReader reader = new SAXReader() ...
- Redis的数据结构之字符串
五种数据类型: 字符串(String) 字符串列表(list) 有序字符串集合(sorted set) 哈希(hash) 字符串集合(set) Key定义的注意点: 不要过长, 不要过短, 统一的命名 ...
- python框架之Flask(2)-路由和视图&Session
路由和视图 这一波主要是通过看源码加深对 Flask 中路由和视图的了解,可以先回顾一下装饰器的知识:[装饰器函数与进阶] 路由设置的两种方式 # 示例代码 from flask import Fla ...
- linux 通过pid 寻找程序路径的最简单命令(pwdx)
在linux实际操作命令中,查看pid的方式有很多种,通过pid找程序路径的方式也有好几个,但是可能大家都忽略的一个很简单也是很实用的命令:pwdx. 比如要查找某个java编写的程序运行情况可通过j ...
- 关于Java中StringBuffer的capacity问题
从API查到capacity的作用是查看StringBuffer的容器容量是多少,刚开始纳闷这个跟length的区别在哪?试验了几次感觉有点不解.所以直接跟进源码分析. 直接通过new StringB ...
- 原生js阻止表单跳转
/* W3C浏览器下的 */ var forms = document.getElementById("from") forms.addEventListener('submit' ...