前几天在学习js的时候,碰到了这样一道面试题,要求计算出给你一个随机乱敲的一个字符串,要求在其中找出那个字符出现的次数最多,以及出现的个数。

这你有两种方案,请大家仔细阅读,有可能在你将来的面试中会碰到。

 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <title></title>
       <script type="text/javascript">
         //给定一个字符串,需要在其中找出哪个字符出现的次数最多,并且计算出这个字符出现的总次数
         //01自定义一个字符串
         var str = "fjalsfj1fds;lafsafafafasfas";
         /*
         02.JSON定义法类似于直接定义法,JSON定义法就是将直接定义法定义的函数与属性放到大括号中,
         并且去掉属性与函数签名的对象名,把等于号改为了冒号,每行后面改为逗号!
         */
         var json = {};
         //03遍历str字符串
         for (var i = 0; i < str.length; i++) {
             /*04.str.charAt(i):在字符串中取出对应的i处的索引的字符串。
                 判断当前元素是否已经在数组中存在
             */
             if (!json[str.charAt(i)]) {
                 json[str.charAt(i)] = 1;//05给对应数组元素中个数赋值
             } else {
                 json[str.charAt(i)]++;
             }
         }
         var iMax = 0;//出现次数
         var iIndex = "";//元素名称
         for (var i in json) {//重新赋值出现最多的元素
             if(json[i]>iMax){
                 iMax = json[i];
                 iIndex = i;
             }
         }
         alert("出现次数最多的是:"+iIndex+"出现"+iMax+"次");

     </script>
 </head>
 <body>

 </body>
 </html>
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <title></title>
     <script type="text/javascript">
         var str = "adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
         var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0
         var result = ''; //命名一个变量放置结果输入   

         while (str != '') { //循环迭代开始,并判断字符串是否为空
             oldStr = str; //将原始的字符串变量赋值给新变量
             getStr = str.substr(0, 1); //用字符串的substr的方法得到第一个字符(首字母)
             eval("str = str.replace(/" + getStr + "/g,'')");

             if (oldStr.length - str.length > maxLength) { //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度
                 maxLength = oldStr.length - str.length; //两字符串长度相减得到最大的字符串长度
                 result = getStr + "=" + maxLength //返回最大的字符串结果(字母、出现次数)
             }
         }
         alert(result) //弹出结果
 </script>
 </head>
 <body>

 </body>
 </html>

希望看完后对大家有帮助,还希望读者如果有更多,更经典的面试题,请发送到我的邮箱18813091329@163.com

最新文章

  1. 【巩固】bootstrap笔记二
  2. Linux下C++静态库、动态库的制作与使用
  3. 性能监视器(SSAS)
  4. DEDECMS中,获取当前栏目名称
  5. 嵌入式linux插入内核模块Error: could not insert module xxx.ko: Device or resource busy处理
  6. 基础SELECT示例掌握
  7. GO语言系列(四)- 内置函数、闭包与高级数据类型
  8. Python学习笔记九
  9. IDEA学习——模板及其常用模板
  10. TensorFlow迭代速度变慢的问题
  11. 修改Linux终端提示符颜色
  12. Mac 命令行,自定义命令
  13. mysql 查询 所有 父节点 单表
  14. Codeforces Round #272 (Div. 2) E. Dreamoon and Strings 动态规划
  15. Redis 学习之路 (009) - Redis-cli命令最新总结
  16. RDD 算子补充
  17. (转)OpenCV 访问Mat中每个像素的值
  18. C++题目(论述类)
  19. Office 2019 2016 安装破解教程
  20. python语法图

热门文章

  1. 数据结构作业——word(栈)
  2. 画虚线 iOS
  3. python运维开发之路02
  4. 修改MySQL的默认数据存储引擎
  5. tomcat密码的坑
  6. IOS OC 计算器算法(不考虑优先级)
  7. 【原】gulp快速入门
  8. nginx 学习笔记(9) 配置HTTPS服务器--转载
  9. js JS 浮点计算BUG
  10. wifi-mac