美文网首页
判断一个字符串中出现次数最多的字符

判断一个字符串中出现次数最多的字符

作者: 啵崽崽 | 来源:发表于2019-12-26 15:04 被阅读0次
字符串
    let str = 'aabbccddd'
    let obj = {}
    for (let i = 0; i < str.length; i++) {
      // 判断字符串不存在时赋值为1 存在就加1  charAt获取字符串的索引
      if (!obj[str.charAt(i)]) {
        obj[str.charAt(i)] = 1
      } else {
        obj[str.charAt(i)]++
      }
    }
    console.log(obj, 'obj') // {a: 2, b: 2, c: 2, d: 3} "obj"
    let max = 0
    let value = ''
    for (let key in obj) {
      console.log('key', key) // key a b c d
      console.log('obj', obj) // obj {a: 2, b: 2, c: 2, d: 3}
      console.log('obj111', obj[key]) // value值:2 2 2 3
      // 假设一个为0的值 和 一个空的字符串来存放键
      // for in 遍历obj对象 把每一个值和max对比
      // 然后获取最大的值max 和 最大值对应的键value
      if (obj[key] > max) {
        max = obj[key]
        value = key
      }
    }
    console.log(value+ '元素' + '' + max + '次数') // d元素3次数
数组
    let arr = [1, 2, 2, 3, 3, 3, 3, 4, 5, 6]
    let obj = {}
    for (let i = 0; i < arr.length; i++) {
      let key = arr[i]
      if (!obj[key]) {
        obj[key] = 1
      } else {
        obj[key]++
      }
    }
    console.log('obj', obj) // obj {1: 1, 2: 2, 3: 4, 4: 1, 5: 1, 6: 1}
    let maxCount = 0
    let maxElement = arr[0]
    for (let key in obj) {
      if (obj[key] > maxCount) {
        maxCount = obj[key]
        maxElement = key
      }
    }
    console.log(maxElement + '元素' + '' + maxCount + '次数') // 3元素4次数

相关文章

网友评论

      本文标题:判断一个字符串中出现次数最多的字符

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