作者:开心123 | 来源:互联网 | 2023-08-10 18:56
篇首语:本文由编程笔记#小编为大家整理,主要介绍了去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码相关的知识,希望对你有一定的参考价值。编程题很
篇首语:本文由编程笔记#小编为大家整理,主要介绍了去哪儿网2017校招在线笔试(前端工程师)编程题及Javascript代码相关的知识,希望对你有一定的参考价值。
编程题很简单。整个试卷结构为:
一、问答题:
对前端的理解,了解哪些框架库?
二、在线编程题:身份证分组
如下第一道:身份证分组
三、在线编程题:身份证分组、统计字符、酒店价格(三选二)
如下第二三四道题中三选二作答。
我也搞不懂为什么有两部分编程题~~~下面详细说一说编程题目及JS代码实现:
第一道:身份证分组
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/49a2a9d70f08b768.jpeg)
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/3e07f8d55aead578.jpeg)
代码:
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。
第二道:文件扩展名
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/fecd01ee5e4c8b46.jpeg)
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/d249cb469d3bb48c.jpeg)
代码:
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。
第三道:统计字符
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/f59e01d1b6d01b9f.jpeg)
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/7cf2a4b35301d62c.jpeg)
代码:
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 ){
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。我的实现好像有点复杂,后面会优化代码继续更新,也希望各位可以多多指点,讨论讨论思路。
第四道:酒店价格
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/c3ae10236b649992.jpeg)
![技术分享](https://img6.php1.cn/3cdc5/9fdb/bdf/25436c85b18d909e.jpeg)
说明:因为后面三道是三选二,所以最后一道我没做。