题解 | #字符串字符统计#

字符串字符统计

https://www.nowcoder.com/practice/777d0cd160de485cae0b1fd1dd973b44

使用对象

function count(str) {
    const obj=new Object();
    const arr=str.replace(/\s*/g,'').split('');
    arr.forEach(e=>{
        if(obj[e]){
            obj[e]+=1;
        }else{
            obj[e]=1;
        }
    });
    return obj;

}

使用Map

(1)get() 方法用来获取一个 Map 对象中指定的元素。

(2)set() 方法为Map对象添加一个指定键(key)和值(value)的新元素。

(3)has() 返回一个bool值,用来表明map 中是否存在指定元素

function count(str) {
    let newStr = '';
    let map = new Map();
    for(let i=0; i<str.length; i++){
        let c = str.substr(i,1);
        if(c.trim()){  //空字符不算
            newStr += c;
            let num = 1;
            if(map.has(c)){
                num = parseInt(map.get(c)) + 1;
            }
            map.set(c, num)
        }
    }
    let obj= Object.create(null);
    for (let[k,v] of map) {
       obj[k] = v;
    }
    return obj
}

全部评论

相关推荐

Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务