首页 > 代码库 > 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
编程题很简单。整个试卷结构为:
一、问答题:
对前端的理解,了解哪些框架库?
二、在线编程题:身份证分组
如下第一道:身份证分组
三、在线编程题:身份证分组、统计字符、酒店价格(三选二)
如下第二三四道题中三选二作答。
我也搞不懂为什么有两部分编程题~~~下面详细说一说编程题目及JS代码实现:
第一道:身份证分组
代码:
1 var line; 2 while(line = read_line()){ 3 while(line.indexOf(" ") != -1){ 4 line = line.replace(" ",""); 5 } 6 if(line.length <= 6){ 7 print(line); 8 } 9 else if(line.length > 6 && line.length <= 14){10 var line1 = line.substring(0,6);11 var line2 = line.substring(6);12 print(line1 + " " + line2);13 }14 else if(line.length > 14 && line.length <= 18){15 var line1 = line.substring(0,6);16 var line2 = line.substring(6,14);17 var line3 = line.substring(14);18 print(line1 + " " + line2 + " " + line3);19 }20 }
说明:全部AC。
第二道:文件扩展名
代码:
1 var line;2 while(line = read_line()){3 while(line.indexOf(".") != -1){4 line = line.split(".");5 print(line[line.length-1]);6 }7 }
说明:全部AC。
第三道:统计字符
代码:
1 function find (obj, key) { 2 if (! typeof obj === ‘object‘) { 3 return false; 4 } 5 if (key in obj) { 6 return true; 7 } 8 else { 9 return false;10 }11 }12 var line;13 while(line = read_line()){14 if(Object.prototype.toString.call(line)===‘[object String]‘){15 while(line.indexOf(" ") != -1){16 line = line.replace(" ","");17 }18 var json = {};19 for(var i = 0; i < line.length; i++){20 if (!find(json, line[i])){21 json[line[i]] = 1;22 }23 else if(find(json, line[i])) {24 json[line[i]] = json[line[i]] + 1;25 if (json[line[i]] == 3&&((line[i]<=‘z‘&&line[i]>=‘a‘)||(line[i] <= ‘Z‘&&line[i] >= ‘A‘))){26 print(line[i]);27 break;28 }29 else {30 continue;31 }32 }33 }34 }35 }
说明:全部AC。我的实现好像有点复杂,后面会优化代码继续更新,也希望各位可以多多指点,讨论讨论思路。
第四道:酒店价格
说明:因为后面三道是三选二,所以最后一道我没做。
去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。