首页 > 代码库 > 去哪儿网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代码