网站首页 > 知识剖析 正文
此前大多数方法在遇到多个字符出现次数最多的情况便只能找出一个字符,我的方法较好地解决了这个问题,话不多说,直接上代码:
let str = 'abbcccdddddeeeeeeefffffff';//特意给定字符e和f都出现了7次
function findCharMore(str){
let charNum = {};
/*遍历字符串,得到对象{字符:出现次数}*/
for(let i=0;i < str.length;i++){
let e = str.charAt(i);
if(charNum[e]){
charNum[e]++;
}else{
charNum[e] = 1;
}
}
let {maxCharArr,count} = {maxCharArr:[],count:0};
/*遍历对象,找出出现次数最多的元素*/
for (let key in charNum) {
/*出现次数更多则需剔除先前的元素并添加当前元素*/
if (count < charNum[key]) {
count = charNum[key];
maxCharArr.shift();
maxCharArr.push(key);
}
/*出现次数相同则在数组添加元素*/
if (count == charNum[key] && maxCharArr.indexOf(key) == -1) {
maxCharArr.push(key);
}
}
/*返回对象{高频字符数组,最大出现次数}*/
return {maxCharArr,count}
}
console.log(findCharMore(str));
//打印结果:{ maxCharArr: [ 'e', 'f' ], count: 7 }
12345678910111213141516171819202122232425262728293031
该方法返回值为对象{高频字符数组,最大出现次数},解决了大多数方法不考虑同时有多个字符出现次数最多的情况。
原文链接:https://blog.csdn.net/qq_24264965/article/details/109013298?utm_medium=distribute.pc_category.none-task-blog-hot-8.nonecase&depth_1-utm_source=distribute.pc_category.none-task-blog-hot-8.nonecase&request_id=
作者:小葱伴逗虎
猜你喜欢
- 2024-12-27 前端中JS的字符编码及常用操作字符API
- 2024-12-27 更好搜索体验,火狐Firefox33.0.0.5397官方下载
- 2024-12-27 Fuse.js - 免费开源、小巧无依赖的模糊搜索 JavaScript 工具库
- 2024-12-27 JavaScript字符串charAt()方法教程
- 2024-12-27 Firefox火狐浏览器126版更新修复PDF.js漏洞
- 2024-12-27 JS原生对字符串操作的常用方法 原生js怎么获取子元素
- 2024-12-27 新增忘记按钮,火狐浏览器Firefox33.1官方下载
- 2024-12-27 使用JShaman进行JS代码加密时,保留字的作用
- 2024-12-27 Python教程:第9篇 字符串基本操作
- 2024-12-27 Web3系列教程之入门篇——1:了解React (Next.js)
- 最近发表
-
- jQuery EasyUI使用教程:创建展开行详细编辑表单的CRUD应用
- CSDN免登陆复制代码的几种方法(csdn扫码登录怎么实现的)
- LayUi提高-Select控件使用(layui form select)
- 用 Playwright MCP 让 AI 改它自己写的屎山代码
- multiple-select.js中手动设置全选和取消全选
- 前端实现右键自定义菜单(html 自定义右键菜单)
- JavaScript脚本如何断言select下拉框的元素内容?
- 广州蓝景分享—实用的CSS技巧,助你成为更好的前端开发者
- MyBatis-Plus码之重器 lambda 表达式使用指南,开发效率瞬间提升80%
- Go语言之select的使用和实现原理(go select case)
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)