理解为字母可连续输入 不同动作之间用空格分开 function getStr(line){ let tokens=line.split(' '); let reg=/1+/; let h=-1; for(let i of tokens){ h++; if(i.match(reg)){ break; } }; //找到输入字符后的有效动作 let newStr=tokens.splice(h);//有效动作字符串 前面不存在1的都不算 console.log('待判断字符',newStr); //1 表示字母 2表示复制 3表示剪切(清空)4表示粘贴 5表示全选 let count=[]; let ctrlA=false; let clip=[]; for(let i of newStr){ if(i=='5'){ ctrlA=true; console.log('ctrlA'); }else if(i.match(reg)){ count.push(i); console.log('字符a',count); }else if(i=='2'&&ctrlA){//全选复制先将其放在剪贴板中,每次都会重新更新 clip=count; console.log('ctrlC剪切板',clip); console.log('ctrlC当前页面',count); }else if(i=='3'&&ctrlA){//全选剪切先将其放在剪贴板中,每次都会重新更新 clip=count; count=[]; console.log('ctrlX剪切板',clip); console.log('ctrlX当前页面',count); }else if(i=='4'&&clip.length!=0){ count=count.concat(clip); ctrlA=false; console.log('ctrlV粘贴剪切板',clip); console.log('ctrlV当前页面',count); } } console.log('最终结果',count); } getStr('111 5 2 3 1 4 3 11 1 5 2 4');
点赞

相关推荐

09-13 17:25
亲切的00后在笔试:我也遇到了,所以我早他一步查看图片
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务