题解 | #统计字符#
统计字符
https://www.nowcoder.com/practice/539054b4c33b4776bc350155f7abd8f5
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
let strs=""
//判断是否为英文字符
while(line = await readline()){
//统计含有空格的字符串的分种类的字符个数:英文、空格、数字判断类型
//map数据结构存储
strs=[...line]
// console.log(strs)
}
let m=new Map();
let init=function(key){
m.set(key,0)
}
init("e")
init("blank")
init("num")
init("other")
let setValue=function(key){
if(!m.get(key))m.set(key,1)
else{
let num=m.get(key)+1
m.set(key,num)
}
}
let f1=function(str){
// console.log("str",str[4]==" ")
//使用正则判断
for(let i=0;i<str.length;i++){
let c=str[i]
if(c==" "){
// console.log("进来了")
setValue("blank")
}
else if(c>='a'&&c<='z'||c>='A'&&c<='Z'){
setValue("e")
}else if(c>=0&&c<=9){
setValue("num")
}else{
setValue("other")
}
}
}
f1(strs)
console.log(m.get("e"))
console.log(m.get("blank"))
console.log(m.get("num"))
console.log(m.get("other"))
}()

腾讯成长空间 6030人发布