教你JavaScript利用charAt()统计出现次数最多的字符和次数

之前给大家介绍过简介JavaScript中charAt()方法的使用,今天通过本文给大家分享js统计次数最多的字符和次数的实例代码,具体内容如下所示:

判断一个字符串'aabcdobdackoppz'中出现次数最多的字符,并统计其次数

首先我们需要了解一个知识点:(如何判断对象里有该属性)

// 有一个对象,来判断是否有该属性
    // 写法:对象['属性名']
    var o = {
        age : 18 ,
        sex : '男'
    }
    if(o['sex']){
        console.log('里面有该属性');
    } else {
        console.log('没有该属性');
    }

核心算法:

1.我们可以利用 charAt() 这个方法来遍历这个字符串。

2.把每个字符都存储给对象,如果对象没有该属性,就给它赋值1,如果存在该属性了就加1。

3.遍历对象 , 得到最大值和出现次数。

1.利用charAt方法遍历数组 'aabcdobdackoppz' (可以理解为把值存到对象obj里面)

<script>
    var str = 'aabcdobdackoppz' ;
    var obj = {} ;
    for(var i = 0 ; i < str.length ; i++){
        var chars = str.charAt(i) // chars 是 字符串的每一个字符
        if(obj[chars]){ // o[chars] 得到的是属性
            obj[chars]++
        } else {
            obj[chars] = 1 ;
        }
    }
    console.log(obj);

</script>

此时已经把值存在obj对象里了

obj对象

2.接下来只需要遍历对象得到最大值和出现次数

<script>
    //遍历对象
    var max = 0;
    var ch = '';
    for (var k in obj) {  // 遍历对象需要使用 for in
        // k 得到的是属性名,obj[k]得到的是属性值
        // 此处的属性名k 只有在循环中才有用 , 所以我们需要创建一个 ch 来存储 k
        if (obj[k] > max) {
            max = obj[k];
            ch = k;
        }
    }
    console.log( ch + '出现次数最多' + '次数为:' + max);
</script>

总结:我们可以理解为所有字符都先执行了obj[chars]=1,相当于创建了对象,然后再判断是否已经存在对象。

到此这篇关于JavaScript利用charAt()统计出现次数最多的字符和次数的文章就介绍到这了,更多相关js统计次数最多的字符和次数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 统计出现最多的字符次数的js代码

    应用正则表达式的全局匹配,可以匹配出字符出现的次数,比较这些次数,将最大的保存并返回.代码如下: 复制代码 代码如下: var countMost = function(str){ if(!str) return; var _count = 0, _temp = 0, _reg, _char; for(var i=0; i<str.length; i++){ _reg = new RegExp(str.charAt(i), 'g'); _temp = str.match(_reg).length

  • JavaScript统计字符串中每个字符出现次数完整实例

    本文实例讲述了JavaScript统计字符串中每个字符出现次数的方法.分享给大家供大家参考,具体如下: 这是一个面试题,要求随便给你一个字符串,让你求出字符串中每个字符出现的次数. 先来看看运行效果截图: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&

  • JavaScript统计字符出现次数

    本文实例为大家分享了JavaScript统计字符出现次数的具体代码,供大家参考,具体内容如下 统计用户输入字符串中各字符出现的次数. 例如:输入字符串为"abca12abbc121d",输出为:a出现3次,b出现3次,c出现2次,d出现1次,1出现3次,2出现2次. 方法一 <script> var ary ="abca12abbc121d"; var obj = {}; var i = 0; ary1 = ary.toLocaleLowerCase()

  • 教你JavaScript利用charAt()统计出现次数最多的字符和次数

    之前给大家介绍过简介JavaScript中charAt()方法的使用,今天通过本文给大家分享js统计次数最多的字符和次数的实例代码,具体内容如下所示: 判断一个字符串'aabcdobdackoppz'中出现次数最多的字符,并统计其次数 首先我们需要了解一个知识点:(如何判断对象里有该属性) // 有一个对象,来判断是否有该属性 // 写法:对象['属性名'] var o = { age : 18 , sex : '男' } if(o['sex']){ console.log('里面有该属性');

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

    在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt()方法 indexOf()方法介绍 返回某个指定的字符串值在字符串中首次出现的位置 charAt()方法介绍 返回某个指定位置的字符 先做一个小测试,找到字符串'woainixiaoli'中的每一个'i'出现的位置. <script> var arr = 'woainixiaoli'; var

  • C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)

    已知字符串"aabbbcddddeeffffghijklmnopqrst"编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2) /******************************************************** Copyright (C), 2016-2017, FileName: main9 Author: woniu201 Description:求字符串中出现次数最多的字符和次数 ******************************

  • 如何利用JavaScript获取字符串中重复次数最多的字符

    目录 题目 分析 使用对象 解题思路: 代码实现如下: 分析: 数组&指针 解题思路: 代码实现如下: 分析: 总结 想要保持自己的技术活力,最有效的手段就是通过不断地输入来提供足够的养分.我们也不必刻意追求高深的或者新鲜的知识点,通过对一个基础问题的全方位多维度解析,同样也会收获不小. 题目 假设有这么一道题目:请获取字符串 "bianchengsanmei,xuexiyouqudezhishi,jieshiyouqudepengyou,suzaoyouqudelinghun.&quo

  • 一个字符串中出现次数最多的字符 统计这个次数【实现代码】

    var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[str.charAt(i)] = 1; }else{ json[str.charAt(i)]++; } }; var iMax = 0; var iIndex = ''; for(var i in json){ if(json[i]>iMax){ iMax = j

  • javascript获取重复次数最多的字符

    javascript获取重复次数最多的字符 /** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 length; //该字符的长度 //定义输出对象 var max = { wordName : '', //重复次数最多的字符 wordLength : 0 //重复的次数 }; //递归方法,传入字符串 (function(words) { if (!wo

  • JavaScript实现计算字符串中出现次数最多的字符和出现的次数

    "计算出字符串中出现次数最多的字符是什么,出现了多少次?" 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下: 复制代码 代码如下: var str = "adadfdfseffserfefsefseeffffftsdg"; var maxLength = 0; var result = ""; while(str!=''){     ol

  • Java编程实现统计一个字符串中各个字符出现次数的方法

    本文实例讲述了Java编程实现统计一个字符串中各个字符出现次数的方法.分享给大家供大家参考,具体如下: import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TreeMapDemo { //统计一个字符串中相应字符出现的次数 public static void main(String[] args) { // System.out.println("我们测试结果:"

  • JS中判断字符串中出现次数最多的字符及出现的次数的简单实例

    JS中判断字符串中出现次数最多的字符及出现的次数的简单实例 <script type="text/javascript"> var str = 'qwertyuilo.,mnbvcsarrrrrrrrtyuiop;l,mhgfdqrtyuio;.cvxsrtyiuo'; var json = {}; //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来作为json的kv for (var i = 0; i < str.length; i++) { //

  • Python实现计算字符串中出现次数最多的字符示例

    本文实例讲述了Python实现计算字符串中出现次数最多的字符.分享给大家供大家参考,具体如下: 1. 看了网上挺多写的方法都没达到我所需要的效果,我干脆自己写了个方法共享给大家 ee = 'aa111(((bbhhhhhh%jjjjjj%(ccc((vvvv22' cc='11222333' def max_letter_count(n): list4 = [] list1 = [] list2 = [] for i in n: list3 = [] count_max = n.count(i)

随机推荐