查找字符串中出现最多的字符
时间:2022-05-04
本文章向大家介绍查找字符串中出现最多的字符,主要内容包括查找字符串中出现最多的字符、题目剖析、字符串方法 - 查找字符串中出现最多的字符、正则方法 - 查找字符串中出现最多的字符、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
HTML5学堂:正则、数组、字符串,是JavaScript语言中让人头痛的一些知识,今天这篇文章我们使用数组字符串的方法,来实现从一个字符串中,查找出现最多的字符。
查找字符串中出现最多的字符
将一个字符串中,出现次数最多的数字提取出来,最后输出出现最多的字符是什么,出现的次数是多少。
题目剖析
字符串方法的解题思路:从最初开始进行字符的截取,获取到第一个字符之后,根据这个字符进行字符串的拆分,此时,拆分后的数组中就没有这个字符了。再将数组组合成字符串之后,原来的长度与当前字符串的长度做差值,就能够获取到当前字符出现了几次。之后运用新的字符串,循环进行操作。需要注意的地方就是,对于出现次数相同的字符,也需要考虑。
相关知识点的使用:字符串、数组方面,需要使用到charAt、split、join、push方法;正则方面,需要使用到子项。
字符串方法 - 查找字符串中出现最多的字符
/*
* HTML5 数组字符串正则表达式
* HTML5学堂 http://www.h5course.com
* 独行冰海 梦幻雪冰
*/
function getMost(str){
var maxNum = 0;
var maxChar = []; //存放出现字数最多的字符数组,因为出现最多的字符可能有多个
while(str){
var char = str.charAt(0);
var arr = str.split(char);
n = str.length - arr.join('').length;
str = arr.join('');
if(n > maxNum){
maxNum = n;
maxChar = [char]; // 放置数组元素
}else if( n === maxNum){
maxChar.push(char); //出现次数相同的字符 存入数组里
}
}
return {'maxNum':maxNum, 'maxChar':maxChar}
}
var res = getMost('dsfshkgfareasfd');
console.log('出现次数最多的字符:'+ res.maxChar + ',出现次数:' + res.maxNum);
正则方法 - 查找字符串中出现最多的字符
/*
* HTML5 数组字符串正则表达式
* HTML5学堂 http://www.h5course.com
* 独行冰海 梦幻雪冰
*/
var str = 'dsfshkgfareasfd';
var arr = str.split('');
arr = arr.sort();
str = arr.join('');
// 先进行排序处理,然后重新组装成字符串
var reg = /(w)1+/g;
var num = 0;
var value = null;
str.replace(reg, function($0, $1){
if (num < $0.length) {
num = $0.length;
value = $1;
};
});
console.log(value+'出现次数'+num);
- 更精准!英研究人员利用AI监测预防城市洪水
- 物联网平台的采用将成为2018年首要IT发展趋势
- python基础随笔
- Mysql+Keepalived双主热备高可用操作记录
- Mysql双主热备+LVS+Keepalived高可用操作记录
- 被曝大裁员!曲德君坚称万达网科没有倒下、目标决心不变
- Linux下smokeping网络监控环境部署记录
- Linux下的rsyslog系统日志梳理(用户操作记录审计)
- 数据结构之数组封装
- Centos下内网NDS主从环境部署记录
- 一搜解决,微信的这个功能厉害了!
- Saltstack自动化操作记录(2)-配置使用
- Saltstack自动化操作记录(1)-环境部署
- CentOS源码编译安装Nginx和tcp_proxy module
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 聊聊 Python 代码覆盖率工具 - Coverage
- 目标检测模型YOLO-V1损失函数详解
- 轻松学Pytorch-使用ResNet50实现图像分类
- IDEA奇淫小技巧
- [PHP框架] ThinkPHP6 介绍、安装及配置
- 【翻译】withoutboats 的 io-uring 笔记
- [Python]随机生成大量的虚拟信息测试数据(姓名,手机号,ID,家庭住址等)
- Java核心技术之动态代理
- 开源verilog仿真工具iverilog+GTKWave初体验
- [算法] 数组排序 - 冒泡排序法与直接选择排序法
- TS 设计模式01 - 工厂模式
- Spring与Mybatis的整合
- Python中的计数 - Counter类
- vue 记账本
- c/c++补完计划(三): 素数统计