三月上旬就在去哪儿的实习招聘投了简历,当时官方说3月20日18:30以前会发出笔试通知,我不少投开发的同窗都收到了短信或者邮件,个人一直迟迟没来,还觉得本身挂在简历了呢,郁闷了一天,到了20日下午的5:30终于收到了笔试通知,时间是两天以后,就在咱们学校。javascript
我投的是前端实习,因此也就只作了前端的题,我以为题目是很基础的.试卷上说前端有3道题,可我翻遍了整个试卷也就看到两道前端,但愿我不是一我的……html
第一道大体是这样的:输入一个文件名,输出它相应的后缀 如输入 abc.txt 输出 txt。前端
个人思路大体是这样的,首先确定是获取到这个文件名的字符串,而后就是将每一个字符拆开存入数组中,接着经过判断“.”的位置,获取到“.”字符以后的字符串,而后将其输出便可。java
<script type="application/javascript"> function getText(){ //获取input的值 var testName = document.getElementsByTagName("input")[0].value; //<p>节点 var pNode = document.getElementsByTagName("p")[0]; var newArray = new Array(); //拆分以后的字符串存入到arryStr中 var arryStr = testName.split(""); //循环判断 for(var i=0;i<arryStr.length;i++){ //当判断第i个字符串不等于"."的时候,就将数组中最后一个字符pop()出来,push()到newArray数组中 if(arryStr[i]!="."){ newArray.push(arryStr.pop()); } } //将newArray中的每一个字符都链接链接成一个字符串,而且反转,复制给p节点的文本 pNode.textContent = newArray.reverse().join(""); } </script>
输出效果:<body> 文件名:<input type="text" value=""/><br> 文件格式:<p> </p><br> <button id="btn" onclick="getText()">点击</button> </body>
一开始没有考虑到反转的问题,因为pop()是从后往前删除的,因此若是不进行反转,输出的文件格式是倒置过来的。并且我一开始就是用abc.txt来测试,输出结果尽管是错的可是也都是”txt“。数组
这道题目考察了比较多js对象的方法:app
例如String对象的split()方法,是用于将字符串分割成字符串数组的;dom
Array对象的pop()方法,是用于删除并返回数组的最后一个元素的;测试
Array对象的push()方法,是向数组的末尾添加一个或多个元素,并返回新的长度的;htm
Array对象的join()方法,是把数组的全部元素放入一个字符串,而后元素经过指定的分隔符进行分隔;对象
Array对象的reverse()方法,用于颠倒数组中元素的顺序。
同时还考察了一些js操做dom的最基本的语法,例如getElementsByTagName什么的。
但愿和你们探讨更加简单快捷的方法~~