题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { let errArr = []; while ((line = await readline())) { let tokens = line.split(" "); let nummber = tokens[1]; let namearr = tokens[0].split("\\"); let name = namearr[namearr.length - 1].slice(-16);//名称只保留最后16位 //在已有的错误记录中寻找和当前输入的这条相同的错误记录 let index = errArr.findIndex( (val) => val.name == name && val.nummber == nummber ); if (index != -1) { //找到了的话则,不加新的错误记录,原有的相同的那条的数量加1 errArr[index].count++; } else { //没找到则新加一条错误记录 errArr.push({ name, nummber, count: 1, }); } }; //只输出最后8条错误记录; errArr.slice(-8).forEach((item) => { console.log(item.name + " " + item.nummber + " " + item.count); }); })();