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

    var maxLength = 0;
var maxStr = '';
var count = 1;
var stringList = 'adsafsfgadsdaasssssaasssdfssss'; // 首先对字符串进行排列,方便比较
stringList = stringList.split('').sort(); // 比较字符串相邻位置是否相同
for (let i = 0; i < stringList.length; i++) {
// 如果相同,说明字符串相同,让count +1
if (stringList[i] == stringList[i + 1]) {
++ count;
// maxLength是最大的出现个数,如果相邻个数大于maxLength则说明字符串个数比定义的最大个数大,则最大个数设置为它,最大值为单前的值
if (count > maxLength) {
console.log(count); maxLength = count;
maxStr = stringList[i];
}
} else {
count = 1
}
}
console.log(‘出现次数最多’+maxStr,'出现次数最多个数' + maxLength);

这是我个人的想法,然后第二种方法就是利用对象的key值不能重复这一特性实现

function maxstringload(str) {
   var obj={};
    for(var i=0;i<str.length;i++){
        var key=str[i];//key中存储的是每一个字符串
        if(obj[key]){//判断这个键值对中有没有这个键
            obj[key]++;
        }else{
            obj[key]=1;
        }
    }     var maxCount=0;//假设是出现次数最多的次数
    var maxString="";//假设这个字符串是次数出现最多的字符串
    for(var key in obj){
        if(maxCount<obj[key]){
            maxCount=obj[key];//保存最大的次数
            maxString=key;
        }
    }
    return "出现次数最多的字母:"+maxString+"出现了"+maxCount+"次";
}
console.log(maxstringload(stringList))

  两个方法都可实现判断一个字符串中出现次数最多的字符及次数

js判断一个字符串中出现次数最多的字符及次数的更多相关文章

  1. javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

    javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...

  2. c c++怎么判断一个字符串中是否含有汉字

    c c++怎么判断一个字符串中是否含有汉字 (2013-02-05 10:44:23) 转载▼     #include  #include  int main() { char sztext[] = ...

  3. JS判断一个字符串是否包含一个子串函数.

    微信小程序 JS判断一个字符串是否包含一个子串函数. //str 字符串,name子串     contains:function(str,name){         if(str.indexOf( ...

  4. Java 正则判断一个字符串中是否包含中文

    使用正则判断一个字符串中是否包含中文或者中文字符 代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...

  5. Python判断一个字符串中是否存在多个子串中的一个

    在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...

  6. js 统计一个字符串中出现的字符最多的字符

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

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

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

  8. Js判断一个字符串是否包含一个子串

    Js中经常遇到判断一个字符串是否包含一个子串,java语言中有containes的方法,直接调用就可以了.除非引用第三方数据库,Js中没有contains方法. 为了实现更java语言中contain ...

  9. java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字

    题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.re ...

随机推荐

  1. JavaScript的函数和作用域闭包

    1. 函数 1.1 定义函数 function add(x, y){ return x + y; } 上述函数定义如下: 关键字function指出这是一个函数定义: add是函数的名称: (x, y ...

  2. 对于python装饰器结合递归的进一步理解

    对于python装饰器结合递归的进一步理解 代码如下: import functools def memoize(fn): print('start memoize') known = dict() ...

  3. nodejs版本DESede/CBC/PKCS5Padding算法封装(3des)

    最近对接了一个第三方支付项目,用的加密算法是根本没听过的:DESede/CBC/PKCS5Padding 这个算法真的是坑爹了,网上搜索了一堆只有java版本是正常的,nodejs版本的各种问题,我了 ...

  4. 设计模式详解及Python实现

    设计模式及Python实现 设计模式是什么? Christopher Alexander:"每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心*.这样你就能一次又一 ...

  5. Golang笔记整理--第二天

    一. 标识符 Go语言标识符构成规则:开头第一个字符必须是字母或者是下划线,后面可以跟任意多个字符,数子或者下划线,并且区分大小写. 例: _aa11 //合法标识符 aa11 //合法标识符 _aa ...

  6. PAT 2-06. 数列求和(20)

    题目意思:给定某数字A(1<=A<=9)以及非负整数N(0<=N<=100000),求数列之和S = A + AA + AAA + … + AA…A(N个A) 最开始一想还以为 ...

  7. centos7 编译安装 redis-6.0.5

    安装redis sudo yum install redis centos自带的redis才3.2 太旧了所以使用源码编译 需要先安装gcc新版才能编译 centos7 默认的 gcc 版本为:4.8 ...

  8. JavaScript学习系列博客_15_栈内存、堆内存

    栈内存 - JS中的变量都是保存到栈内存中的,- 基本数据类型的值直接在栈内存中存储,- 值与值之间是独立存在,修改一个变量不会影响其他的变量 堆内存 - 对象是保存到堆内存中的,每创建一个新的对象, ...

  9. golang multiconfig 示例

    参考资料:https://github.com/koding/multiconfig 测试代码: package main import ( "fmt" "github. ...

  10. 结对作业:四则运算(Java+JavaFX)

    一.简介 此程序是一个可自动生成,计算小学四则运算题目的项目. Github地址:https://github.com/czmDeRepository/SoftwareWork/tree/master ...