js统计字符串中每个字符出现的次数和列出出现频率最高的字符

考虑到出现频率最高的字符可能有多个,所以需要一个数组来存储出现频率最高的字符,再通过join方法转成字符串

 1 var str = 'kkkkadsfdsf23dfds中中诺防守打法睡得晚让34 水电费水电费来了 !%#¥%#'
 2     var map = {}
 3     var num = 0
 4     var maxStr = ''
 5     var resArr = []
 6     for(var i=0; i<str.length; i++) {
 7         if(map[str[i]]) {
 8             map[str[i]].num++
 9         }else{
10             map[str[i]] = {num: 1}
11         }
12     }
13     for(var key in map) {
14         console.log('字符:' + key + ',出现的次数为:' + map[key].num)
15         if(map[key].num > num) {
16             resArr = [key]
17             num = map[key].num
18         } else  if(map[key].num == num) {
19             resArr.push(key)
20             num = map[key].num
21         }
22     }
23     maxStr = resArr.join(',')
24     console.log('出现频率最高的字符是:' + maxStr + ',出现次数为:' + num)

原文地址:https://www.cnblogs.com/freezyh/p/13694644.html