三月上旬就在去哪兒的實習招聘投了簡歷,當時官方說3月20日18:30之前會發出筆試通知,我很多投開發的同學都收到了短信或者郵件,我的一直遲遲沒來,還以為自己掛在簡歷了呢,郁悶了一天,到了20日下午的5:30終於收到了筆試通知,時間是兩天之后,就在我們學校。
我投的是前端實習,所以也就只做了前端的題,我覺得題目是很基礎的.試卷上說前端有3道題,可我翻遍了整個試卷也就看到兩道前端,希望我不是一個人……
第一道大致是這樣的:輸入一個文件名,輸出它相應的后綴 如輸入 abc.txt 輸出 txt。
我的思路大致是這樣的,首先肯定是獲取到這個文件名的字符串,然后就是將每個字符拆開存入數組中,接着通過判斷“.”的位置,獲取到“.”字符之后的字符串,然后將其輸出即可。
<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對象的方法:
例如String對象的split()方法,是用於將字符串分割成字符串數組的;
Array對象的pop()方法,是用於刪除並返回數組的最后一個元素的;
Array對象的push()方法,是向數組的末尾添加一個或多個元素,並返回新的長度的;
Array對象的join()方法,是把數組的所有元素放入一個字符串,然后元素通過指定的分隔符進行分隔;
Array對象的reverse()方法,用於顛倒數組中元素的順序。
同時還考察了一些js操作dom的最基本的語法,例如getElementsByTagName什么的。
希望和大家探討更加簡單快捷的方法~~