1、方法:把字符串中字符替换为空,并和之前的字符串的长度相减,得到已经被替换的字符的数量,依次比较获得出现次数最多的字符

  1. var str ="adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
  2. var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0
  3. var result = ''; //命名一个变量放置结果输入
  4.  
  5. while( str != '' ){ //循环迭代开始,并判断字符串是否为空
  6. oldStr = str; //将原始的字符串变量赋值给新变量
  7. getStr = str.substr(0,1); //用字符串的substr的方法得到第一个字符(首字母)
  8. eval("str = str.replace(/"+getStr+"/g,'')"); //用eval函数把字符串转换为可执行的js代码,也可以写成 str = str.replace(new RegExp(getStr,'g'),"");找到字符串中此相同的字符并替换为空
  9.  
  10. if( oldStr.length-str.length > maxLength ) { //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度
  11. maxLength = oldStr.length-str.length; //两字符串长度相减得到最大的字符串长度
  12. result = getStr + "=" + maxLength //返回最大的字符串结果(字母、出现次数)
  13. }
  14. }
  15.  
  16. console.log(result);//输出结果

2、方法:把字符串中字符转换为一个对象的属性,如果遇到相同的字符则该属性值+1,然后依次比较对象中属性值,得到属性值最大的属性就是出现次数最多的字符

  1. var str = "abcdefgaaaaaadddafsa1f31df54s21fsf56sf1"; //声明一个变量放置给出的字符串
  2. var obj = {}; //声明一个对象用于把字符串对象化
  3. var letter; //声明一个变量用来放字符串字符
  4. for(var i = 0,len = str.length;i<len;i++){ //循环字符串字符
  5. letter = str[i]; //把当前字符赋值给变量
  6. if(!obj[letter]){ //判断对象中是否有当前变量的属性
  7. obj[letter] = 1; //如果没有则赋值为1
  8. }else{
  9. obj[letter]++; //如果已经有该属性就加1
  10. }
  11. }
  12. var max_key,max_num = 0; //声明一个变量放置数量最多的字符,声明一个变量放置出现次数最多的字符的数量并初始化为0
  13. for(key in obj){ //循环对象的属性
  14. if(max_num <obj[key]){ //比较当前属性的值是否大于变量值
  15. max_num = obj[key]; //如果大于变量值则把值赋给变量
  16. max_key = key; //同时把当前属性名的字符赋值给变量max_key
  17. }
  18. }
  19. document.write("字母:" + max_key + " 次数:" + max_num);

js学习笔记之字符串统计出现次数最多的字符的更多相关文章

  1. js面试之一个字符串中出现次数最多的字符是?出现几次?

    最近在找面试题的时候发现了许多有趣的题目,在这里用随笔记录下~ 关于“一个字符串中出现次数最多的字符...”这种问题在笔试题中出现的频率还是很高的,我自己也找到了几种方法处理 var str = &q ...

  2. JS查找字符串中出现次数最多的字符

    本文给大家带来两种js中查找字符串中出现次数最多的字符,在这两种方法中小编推荐使用第二种,对js查找字符串出现次数的相关知识感兴趣的朋友一起看看吧   在一个字符串中,如 'zhaochucichuz ...

  3. JavaScript判断字符串中出现次数最多的字符,并统计其次数

    要求: 输出一个给定字符串``中出现次数最多的字符,并统计其次数. 实现思路: 利用charA()遍历这个字符串 把每个字符都存储给对象,如果对象没有该属性,就先幅值为1,如果存在了就+1 遍历对象, ...

  4. js判断一个字符串中出现次数最多的字符及次数

    最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = ...

  5. 使用 Java 查找字符串中出现次数最多的字符以及出现的次数?

    使用 Java 查找字符串中出现次数最多的字符以及出现的次数? import java.util.HashMap; import java.util.Map; public class TestStr ...

  6. Java求字符串中出现次数最多的字符

    Java求字符串中出现次数最多的字符  [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51933611      Java ...

  7. js 计算字符串中出现次数最多的字符及其次数

    方法一: var str="sdfseresssssdssdfsa"; var arr=[]; var max=0; var maxk; for(var i=0;i<str. ...

  8. JS-取出字符串中重复次数最多的字符并输出

    /** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 le ...

  9. js-查找字符串中出现次数最多的字符

    假设有一个字符串,下面让我们一起来查找出现次数最多的字符 var str = 'asdfssaaasasasasaa'; 首先,我们定义一个Object用来存放拆分的字符串,然后遍历字符串. 判断ob ...

随机推荐

  1. 详解详解Java中static关键字和final关键字的功能

    摘要:static关键字和final关键字是Java语言的核心,深入理解他们的功能非常重要. 本文分享自华为云社区<Java: static关键字与final关键字>,原文作者:唐里 . ...

  2. 为什么switch里的case没有break不行

    前言 一个小姐姐拿着一个switch的选择题来问我. 之所以这么笃定地回答这个问题,并不是我知道其中原理,而是之前在一个群里,有人问了同类型的问题,我瞥了一眼记住了答案,所以才依葫芦画瓢. 小姐姐接着 ...

  3. 在vue项目中使用scss,以及vscode适配scss语法(解决使用scss语法编辑器报错)

    项目搭建好之后 安装sass 依赖包 npm install --save-dev sass-loader //sass-loader依赖于node-sass npm install --save-d ...

  4. Linux中使用QT读取并显示温度传感器数值

    环境: Ubuntu 16.04 64 bit QT5.13.1/QT5.12 原理 对于Linux来说一切都是文件,温度传感器也是个文件,如果要获取某个温度传感器的数值,可以读取相应的文件,Linu ...

  5. hdu5438 拓扑排序+DFS

    解析 对一个有向无环图(Directed Acyclic Graph,简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则 ...

  6. Android系统编程入门系列之加载界面Activity

    上回说到应用初始化加载及其生命周期,在Android系统调用Applicaiton.onCreate()之后,继续创建并加载清单文件中注册的首个界面即主Activity,也可称之为入口界面.主Acti ...

  7. Linux 之 deb 包生成、安装、卸载

    Linux 之 deb 包的生成.安装和卸载 deb DEB 是 Debian 软件包格式的文件扩展名,是 Unixar 的标准归档,将包文件信息以及包内容,经过 gzip 和 tar 打包而成. d ...

  8. Binding(四):数据校验

    ​    除了上一节讲的类型转换器,Binding还自带数据校验功能,这节主要来讲一下. 跟类型转换器一样,数据校验需要我们继承ValidationRule类,实现其中的Validate方法,并写入我 ...

  9. 23、nginx动态添加nginx_upstream_check_module健康检查模块

    nginx_upstream_check_module模块地址:https://github.com/yaoweibin/nginx_upstream_check_module 23.1.说明: 1. ...

  10. 重新整理 .net core 实践篇————网关中的身份签名认证[三十七]

    前言 简单整理一下网关中的jwt,jwt用于授权认证的,其实关于认证授权这块https://www.cnblogs.com/aoximin/p/12268520.html 这个链接的时候就已经写了,当 ...