Js对象(五)如何查找字符串中出现次数最多的字符 2021-11-24

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js对象(五)如何查找字符串中出现次数最多的字符 2021-11-24相关的知识,希望对你有一定的参考价值。

参考技术A 1. 先找出每个字符出现的次数

    let str = 'abcoadadooadbdsfsdfwewerewrwrqeqgfdgfdgcvgbhooo';

    let obj = ;

    for (let i = 0; i < str.length; i++)

        //根据字符的名称查找对象中有没有对应的属性

        if (obj[str[i]])

            // 有就+1

            obj[str[i]]++;

        else

            // 没有就等于1

            obj[str[i]] = 1;

       

   

    console.log(obj); 

返回如下结果:

     2.再遍历字符串  比较大小得出谁出现的次数最多,这里有两种方式

2.1 利用for in 循环 

    // let max = 0;

    // let val = '';

    // for (var k in obj)

    //     // k得到的是属性名 ,obj[k]得到是属性值

    //     if (obj[k] > max)

    //         max = obj[k];

    //         val = k;

    //    

    //

    // console.log('最多的字符是' + val);

2.2 利用forEach遍历数组

    let max =

        name: '',

        count: 0

   

    Object.keys(obj).forEach(k =>

        //判断是否有别的字符串大于max

        if (obj[k] > max.count)

            max.name = k

            max.count = obj[k]

       

    )

    console.log(max);

有一万条字符串,要找出前10条出现次数最多的,该如何解决

可以用group by 分组汇总,通过count()函数统计重复次数,然后对重复次数进行倒序去前十

oracle 写法

select 字段名称,cfcount
from (select 字段名称,count(1) as cfcount
from 表名 group by 字段名称 order by count(1) desc) a
where rownum<=10

sql server 写法

select top 10 字段名称,cfcount
from (select 字段名称,count(1) as cfcount
from 表名 group by 字段名称 order by count(1) desc) a

参考技术A 分组统计数量 ,再按数量降序排,取前10个就可以了

以上是关于Js对象(五)如何查找字符串中出现次数最多的字符 2021-11-24的主要内容,如果未能解决你的问题,请参考以下文章

学习 javascript 第一天:如何使用 javascript 查找字符串中出现次数最多的字符

如何获取数组中出现次数最多的字符串?

找出字符串中出现次数最多的字符和次数

js查找字符串中出现次数最多的一个

js实现查找字符串出现最多的字符和次数

有一万条字符串,要找出前10条出现次数最多的,该如何解决