练习牛客网笔试题--前端js--10-字符串字符统计

本文介绍了两种JavaScript方法来统计字符串中每个字符的出现频率。练习题中提供了两种解决方案,分别是使用`split()`、`filter()`和`forEach()`组合,以及使用`replace()`去除空白字符后再进行统计。这两种方法都能有效地计算字符串中各字符的出现次数,返回一个对象作为结果。

练习牛客网笔试题--前端js--10-字符串字符统计

   // 题目描述

    // 统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率

    // 1. 不限制 key 的顺序

    // 2. 输入的字符串参数不会为空

    // 3. 忽略空白字符

    // 输入  'hello world'

    // 输出  {h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}

1.自己的练习

function count(str) {
        var obj = {};
        var arr = str.split('').filter(item => item != ' ');
        arr.forEach(key => {
            if(!obj[key]) {
                obj[key] = 1;
            } else {
                obj[key]++;
            }
        });
        return obj
    }

2.题解

function count(str) {
        let strArr = str.replace(/\s/g,'').split('')
        let obj ={}
        strArr.forEach((item) => {
            if (obj[item] === undefined){
                obj[item] = 1
            }else {
                obj[item] = obj[item] + 1
            }
        })
        return obj
    }

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值