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

 function test(){
var bt = document.getElementById("bt");
bt.addEventListener("click",function(){ var str = "dafdsjkfnaiesdaadsllllllkkkkk444444444444444";
var obj = []; // 存放结果集的数组,结果中存放 key-value 对象
for(var i =0;i<str.length;i++){ // 遍历字符串 求结果集
var key = str[i];
if(!obj[key]){
obj[key] = 1; // 如果结果集中还没有添加该字符 赋初值1
}else{
obj[key]++; // 结果集中已添加的字符 数量++
}
}
console.log( typeof obj);
for(key in obj){
console.log(key+obj[key]);
console.log(typeof key );
console.log(typeof obj[key]);
} var resultKey=[]; // 存储数量最多的一个或多个字符(有多个字符出现次数相同)
var max = -1; // 出现的最大数量
for(key in obj){ // 遍历结果集
if(obj[key]==max){ // 多个字符
resultKey.push(key);
} if(obj[key]>max){ // 一个字符
resultKey = []; // 数量最多字符数组置空
resultKey.push(key); // 添加字符
max = obj[key];
}
}
console.log("resultKey: "+resultKey+" "+"count:"+max); } );
}

javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数的更多相关文章

  1. C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework

    C#实现如何判断一个数组中是否有重复的元素   如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...

  2. C#判断一个类中有无"指定名称"的方法

    C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...

  3. C#实现如何判断一个数组中是否有重复的元素

    如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hashtable的Contains方法进行查找 /// ...

  4. JavaScript写在Html页面的<head></head>中

    JavaScript写在Html页面的<head></head>中 ----------------- <html> <head> <style ...

  5. C#中怎么判断一个数组中是否存在某个数组值

    (1) 第一种方法: ,,}; ); // 这里的1就是你要查找的值 ) // 不存在 else // 存在 (2) 第二种方法: string[] strArr = {"a",& ...

  6. 字符串中连续出现最多的子串 &amp; 字符串中最长反复子串

    字符串中连续出现最多的子串 & 字符串中最长反复子串 字符串中连续出现最多的子串 & 字符串中最长反复子串,这两个问题都能够用后缀数组来表示,至于后缀数组能够參考编程珠玑P156:后缀 ...

  7. String substring(int start,int end)截取当前字符串中指定范围内的字符串

    package seday01;/** * String substring(int start,int end) * 截取当前字符串中指定范围内的字符串. * java api有一个特点:通常用两个 ...

  8. 假设写一段代码引导PC开机这段代码是 ? Here is a tiny &quot;OS&quot; :-D

    Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动.然后单独剥离出来,能够非常好玩~ 资料下载地址: http://download ...

  9. JavaScript-navigator_userAgent-编写一段代码能够区分浏览器的主流和区分

    1 userAgent:包含浏览器名称和版本号的字符串 <!DOCTYPE html> <html> <head lang="en"> < ...

随机推荐

  1. SQLServer 取小时

    select datepart(hh,getdate())--orselect datename(hh,getdate())

  2. centos7 install mysql

    1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...

  3. web client

    http://blog.csdn.net/borishuai/article/details/8676573 http://down.lusongsong.com/soft/696.html http ...

  4. poj 1066 Treasure Hunt

    http://poj.org/problem?id=1066 #include <cstdio> #include <cstring> #include <cmath&g ...

  5. UMHexagonS搜索过程

    通过相邻块的预测得到mvp后,会以mvp为基础搜索最佳的匹配块,UMHexagonS就是h.264中用的一种搜索算法. UMHexagonS是一种整像素搜索算法,也就是搜索过程中,参考图像一直都是原来 ...

  6. new Random().nextInt

    public static void main(String[] args) { System.out.println(new Random().nextInt(0)); } Exception in ...

  7. Java获取程序或项目路径的常用方法

    在写java程序时不可避免要获取文件的路径,比较常用的方法有: 1 在任意的class里调用: this.getClass().getClassLoader().getResource("/ ...

  8. 【转】no resource found @integer/google_play_services_version whats this?

    原文网址:http://stackoverflow.com/questions/24325333/no-resource-found-integer-google-play-services-vers ...

  9. Delphi TcxTreeList 怎们显示下拉列表

    TcxTreeList  怎们显示下拉列表, 操作如下: 1.定义一个TStringlist中存储你的信息. 2.然后选定在TcxTreeList的哪个列要变成TCombobox,  如下图: 3. ...

  10. sqlserver如何启动数据库邮件

    可以在 msdb 数据库中停止数据库邮件.若要检查数据库邮件的状态,请执行下面的语句: 复制 EXECUTE dbo.sysmail_help_status_sp; 若要在邮件主机数据库中启动数据库邮 ...