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 ...
随机推荐
- python根据字符串导入模块
问题: path = "auth.my_auth.AUTH" # 根据path实例化AUTH类 解决: path = "auth.my_auth.AUTH" i ...
- 21、bootstrap框架
http://www.bootcss.com/ Bootstrap 插件==全部依赖 jQuery== 请注意,Bootstrap 的所有 JavaScript 插件都依赖 jQuery,因此 jQu ...
- mui 轮播
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- MySQL数据查询
数据查询语言DQL select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [ ...
- 补充:ajax PHP html js 实现 三级联动(省 市 区)
html + js 在一个页面 php
- Python学习之旅(三十六)
Python基础知识(35):电子邮件(Ⅱ) 收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上 收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3 Pytho ...
- 【Linux内存源码分析】vmalloc不连续内存管理(转)
https://www.jeanleo.com/2018/09/09/%E3%80%90linux%E5%86%85%E5%AD%98%E6%BA%90%E7%A0%81%E5%88%86%E6%9E ...
- ionic3 创建项目至apk打包全过程教程
主要流程: 安装node.js --> 安装jdk --> 安装AndroidSDK --> 安装cordova --> 安装ionic --> 创建项 ...
- 作业2:git使用
作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远端库地址:https://github.com/yellow ...
- Spring Boot 注解配置 day03
一.SpringBoot注解 @PropertySource 和 @ImportResource和@Bean 1.@PropertySource 加载指定位置的配置文件(只能是properties文件 ...