用reduce统计字符出现频率

98 阅读1分钟

方法1:使用for循环统计

var str = 'nihaowonishisheiwoshixiaoranya'
var res={};
    for (var i=0;i<str.length;i++){
        if(res[str[i]]){
            res[str[i]]++;
        }else{
            res[str[i]] = 1;
        }
    }
   console.log(res);

方法2:使用reduce统计

    var str = 'nihaowonishisheiwoshixiaoranya'
    var res = str.split('').reduce((a,b)=>(a[b]++||(a[b]=1),a),{});
    console.log(res);

image.png

方法1效果一致