let hash = new Map(); //用Map存下每一条,便于比对 while(err=readline()){ let string = err.split("\\").pop(); //这里反斜杠需要先转义一下 let file = string.split(" ")[0]; //拿到文件名去判断是不是大于16个字符 if(file.length>16){ string = string.slice(file.length-16); //截取一下前16个字符 } if(hash.has(string)){ hash.set(string,hash.get(string)+1) //Map中存在这条记录就+1 }else{ hash.set(string,1) //不存在就设一下 } } let i = hash.size - 8; //因为只能保留八条记录,然后map原生提供的遍历方法好像没有能带上索引的,所以手动设一下索引 for(let [key,val] of hash.entries()){ if(i>0){ i--; continue; //在超出八条的部分,前面旧的数据不输出 } print(key+" "+val); }