统计字符串

作者: 椰果粒 | 来源:发表于2018-07-06 10:16 被阅读2次

一:统计每个字符出现的次数

/*
* 统计各个字符出现的次数
* 思路:
*    1. 定义一个空对象
*    2. 循环数组,如果对象的key存在,就给这个key的值+1,否则key的值就为1
* */
function count(str){
   let obj = {}
   let countArr = []
   let result = {}
   for(let i=0;i<str.length;i++){
       obj[str[i]]?obj[str[i]]+=1:obj[str[i]]=1
   }
   return obj
}

二:统计出现次数相同的是哪几项

function count(str){
   let obj = {}
   let countArr = []
   let result = {}
   for(let i=0;i<str.length;i++){
       obj[str[i]]?obj[str[i]]+=1:obj[str[i]]=1
   }
   for(key in obj){
        // 每个字符出现的次数
       countArr.push(obj[key])
        // 去重后的次数
       countArr = [...new Set(countArr)]
   }
   for(let i=0;i<countArr.length;i++){
       let arr2 = []
       for(key in obj){
           if(countArr[i]==obj[key]){
               arr2.push(key)
               result[countArr[i]] = arr2
           }
       }
   }
   console.log(result)
}
count(str)

三:统计出现次数最多的字符

/*
* 统计出现最多的字符
* 注意:要考虑有多个字符出现次数相同的情况
* 思路:
*   1. 首先定义一个对象,统计出所有的字符出现的次数
*   2. 循环该obj,将value===max的找出来,放到一个数组中,再展示出来
* */
function maxCount(str){
    let obj = {};
    let max = 1;
    let arr = [];

    for(let i=0;i<str.length;i++){
        obj[str[i]]?obj[str[i]]+=1:obj[str[i]]=1
    }
    // 循环得到最多的次数
    for(key in obj){
        if(max<obj[key]){
            max = obj[key]
        }
    }
    for(key in obj){
        if(obj[key] === max){
            arr.push(key)
        }
    }
    console.log("出现最多的字符是:"+arr + ",出现的次数是:" +max+"次")
}
maxCount(str)

四:统计指定字符出现的次数

/*
* 判断某个字符出现的次数
* 方法一思路:
*   先将字符串按照指定字符用split()切割成数组
*   切割后的数组最后一个是不包含该字符的
* 方法二思路:
*   用字符串的match()方法
* */
方法一:
function count1(str,char){
    var len = str.split(char).length-1
    return len
}
console.log(count1(str,"j"))  

方法二:
console.log(("jj222ddd".match(new RegExp("j","g")) || []).length)

五:第一个重复的字符

function firstRepeat(str){
    let obj = {}
    for(let i=0;i<str.length;i++){
        obj[str[i]]?obj[str[i]]+=1:obj[str[i]]=1
    }
    for(key in obj){
        if(obj[key]<=1){console.log("no repeat!")}
        if(obj[key]>=2){
            console.log("第一个重复的是:"+key);
            break
        }
    }
}
firstRepeat("112fff4")

相关文章

  • python实现:统计字符串中,各个字符的个数

    要求: 统计字符串中,各个字符串的个数,并将其结果使用字典存储; 比如:"hello world"字符串统计结果为...

  • 断点续传大规模爬虫

    编写程序 一、count()方法 (1)python中的count()方法:统计字符串中子字符串的出现次数,统计列...

  • collections.Counter的使用

    这是一个统计一个序列中元素出现的次数的内置库。 统计字符串 如果我们有这样一个字符串。我们要统计字符串中每个字符出...

  • python count()方法详解

    Python count()方法 Python 字符串 描述 Python count() 方法用于统计字符串里某...

  • 统计字符串

    一:统计每个字符出现的次数 二:统计出现次数相同的是哪几项 三:统计出现次数最多的字符 四:统计指定字符出现的次数...

  • 2019-04-23总结

    1.字符串 1.字符串1.count(字符串2) --》统计字符串中字符串出现的次数 2.字符串1.find(...

  • Week 19 0724 -- 0730

    question 1 字符串统计 找出一个字符串中最靠前的只出现了一次的字符 答案: question 2 统计列...

  • 数组相同元素个数统计

    数组中重复的ID统计出总数 现在有一组字符串 '10,12,14,16,10,1,5,16'; 想统计字符串中相同...

  • Python语言基础之——字符串和函数基础

    1.字符串相关方法 1.计算次数 1.count 字符串1.count(字符串2) - 统计字符串1中...

  • Java 小知识点集合(二)

    1、java统计字符串中每个字符出现的次数 例如String str = “abcaaaefdabbhg”;统计该...

网友评论

    本文标题:统计字符串

    本文链接:https://www.haomeiwen.com/subject/wulvuftx.html