打印字符串中字符出现次数以及出现最多字符的那个

291 阅读1分钟
1.
//统计每个字符串出现的次数
var str = "hello";
var obj = {};
for (var i = 0; i < str.length; i++) {
    // var key = str.charAt(i) 
    var key = str[i];
    if (obj[key]) {
       obj[key]++;
    } else {
       obj[key] = 1;
    }
}
console.log(obj);

//求字符串出现最多的字符和次数
var max = 0
var chars = '' //声明一个变量用于保存最多次数的字符
for (var k in obj) {
    if (obj[k] > max) {
      max = obj[k]
      chars = k
    }
}
console.log('最多的字符是:' + chars + '出现了' + max + '次')
2.
//用reduce求字符串中每个字符出现的个数
const str = 'jshdjsihh';
const obj = str.split('').reduce((pre, item) => {
   pre[item] ? pre[item] ++ : pre[item] = 1
   return pre;
 }, {})
console.log('obj', obj)

//求字符串出现最多的字符和次数
var max = 0
var chars = '' //声明一个变量用于保存最多次数的字符
for (var k in obj) {
    if (obj[k] > max) {
      max = obj[k]
      chars = k
    }
}
console.log('最多的字符是:' + chars + '出现了' + max + '次')