编程题很简单。整个试卷结构为:

一、问答题:

对前端的理解,了解哪些框架库?

二、在线编程题:身份证分组

如下第一道:身份证分组

三、在线编程题:身份证分组、统计字符、酒店价格(三选二)

如下第二三四道题中三选二作答。

我也搞不懂为什么有两部分编程题~~~下面详细说一说编程题目及JS代码实现:

第一道:身份证分组

代码:

 var line;
while(line = read_line()){
while(line.indexOf(" ") != -1){
line = line.replace(" ","");
}
if(line.length <= 6){
print(line);
}
else if(line.length > 6 && line.length <= 14){
var line1 = line.substring(0,6);
var line2 = line.substring(6);
print(line1 + " " + line2);
}
else if(line.length > 14 && line.length <= 18){
var line1 = line.substring(0,6);
var line2 = line.substring(6,14);
var line3 = line.substring(14);
print(line1 + " " + line2 + " " + line3);
}
}

说明:全部AC。

第二道:文件扩展名

代码:

 var line;
while(line = read_line()){
while(line.indexOf(".") != -1){
line = line.split(".");
print(line[line.length-1]);
}
}

说明:全部AC。

第三道:统计字符

代码:

 function find (obj, key) {
if (! typeof obj === 'object') {
return false;
}
if (key in obj) {
return true;
}
else {
return false;
}
}
var line;
while(line = read_line()){
if(Object.prototype.toString.call(line)==='[object String]'){
while(line.indexOf(" ") != -1){
line = line.replace(" ","");
}
var json = {};
for(var i = 0; i < line.length; i++){
if (!find(json, line[i])){
json[line[i]] = 1;
}
else if(find(json, line[i])) {
json[line[i]] = json[line[i]] + 1;
if (json[line[i]] == 3&&((line[i]<='z'&&line[i]>='a')||(line[i] <= 'Z'&&line[i] >= 'A'))){
print(line[i]);
break;
}
else {
continue;
}
}
}
}
}

说明:全部AC。我的实现好像有点复杂,后面会优化代码继续更新,也希望各位可以多多指点,讨论讨论思路。

第四道:酒店价格

说明:因为后面三道是三选二,所以最后一道我没做。

去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码的更多相关文章

  1. 15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码)

    15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码) 前言 设计模式是一个程序员进阶高级的必备技巧,也是评判一个工程师工作经验和能力的试金石.设计模式是程序员多年工作经 ...

  2. 9月10日,美团网2014校招研发笔试哈尔滨站 1、链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现

    // reverselink.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" struct Node{ int num; struct No ...

  3. WEB前端工程师整理的原生JavaScript经典百例

    一.原生JavaScript实现字符串长度截取 二.原生JavaScript获取域名主机 三.原生JavaScript转义html标签 四.原生JavaScript时间日期格式替换 Date.prot ...

  4. 阿里校招内推C++岗位编程题第一题 空格最少的字符串

    给定一个字符串S和有效单词的字典D,请确定可以插入到S中的最小空格数,使得最终的字符串完全由D中的有效单词组成.并输出解. 如果没有解则应该输出n/a 例如: 输入: S = “ilikealibab ...

  5. 中级前端工程师要掌握的JavaScript 技巧

    1.判断对象的数据类型 2.Es5实现数组map方法 3.使用reduce实现数组map方法 4.ES5 实现数组filter方法 5.使用reduce实现filter方法 6.ES5 实现数组som ...

  6. (转)国内外优秀的Web前端工程师

    1. 国内外优秀的Web前端工程师 寻找Github.微博.知乎等技术社区上比较活跃.影响力大的圈内大神,供大家膜拜! 视野所限,未必全面,欢迎大家推荐.自荐. 排名不分先后,序号只为标记方便. 提供 ...

  7. web前端工程师校园招聘要求

    小燕子对紫薇说:“这辈子也别想着进皇宫了”.可后来她们不但进了宫,还都当上了格格.你在想什么?走呗! 1.去哪了网 前端开发工程师 工作地点:北京 工作职责: 负责去哪儿网各产品线Web前端研发: 负 ...

  8. 美团点评2017校招笔试真题-算法工程师B

    美团点评2017校招笔试真题-算法工程师B 1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 C ...

  9. [算法 笔记]2014年去哪儿网 开发笔试(续)第一题BUG修正

    上一篇的blog地址为:http://www.cnblogs.com/life91/p/3313868.html 这几天又参加了一个家公司的笔试题,在最后的编程题中竟然出现了去哪儿网开发的第一题,也就 ...

随机推荐

  1. LeetCode128:Longest Consecutive Sequence

    题目: Given an unsorted array of integers, find the length of the longest consecutive elements sequenc ...

  2. tomcat+webservice实现简单的web服务远程调用接口

    1,准备工作:    ①需要使用到jaxws的一系列架包,网址:http://jax-ws.java.net,我下的是比较新的一个版本(下载好以后吧架包发在lib下),②webservice的一个工具 ...

  3. platform总线globalfifo驱动

    功能是使用内存的4k单元,实现读,写,偏移,清除. /************************************************************************* ...

  4. Json Utils

    import java.util.List;import java.util.Map; import net.sf.json.JSONArray;import net.sf.json.JSONObje ...

  5. phpcms—— 内容中的附件调用和添加远程地址的调用

    phpcms中几个地址调用的方法 1,CSS路径有{CSS_PATH}2,图片路径有{IMG_PATH}3,JS路径有{JS_PATH} 4,那么附件的路径如何调用,使用下面的方式可以得到附件的路径前 ...

  6. 初识HTTP协议

    本篇文章从概念上初识HTTP协议,参考链接:http://www.runoob.com/http/http-tutorial.html 目录: 一.HTTP协议    HTTP 工作原理    HTT ...

  7. hdu 1518 拼正方形

    本题来自:http://acm.hdu.edu.cn/showproblem.php?pid=1518 题意:输入几个长度,判断能否拼成正方形. 以下部分参考了网友代码,终于ac啦. #include ...

  8. 如何给span设置高度宽度?

    内容提要:给Span设置高度和宽度后没有作用.本文介绍了如何如何给span设置高度宽度. CSS模型中经常用的容器是DIV和span. 给Span设置高度和宽度后没有作用. <style typ ...

  9. Gulp-前端进阶A-3---如何不刷新监控文件变化?

    npm install --save-dev gulp-connect npm install --save-dev gulp-livereload npm其他,前面已有 var gulp = req ...

  10. LALR(1)语法分析生成器--xbytes

    0.概述: 看了编译器龙书和虎书后,自己手动写了一个LALR(1)语法分析生成器,使用的语法文件格式和lemon的差不多. 程序里面很多的算法也都是摘录自虎书,龙书虽然讲的很详细,但是真正动手写的时候 ...