阿里在線前端筆試題
本人大三,非985,211。
參加了2015年暑假實習(xí)校園招聘,好吧,其實就看看題目長什么樣字、廢話不多說,上題。
一共13題,6個選擇,1題是github地址或博客微博地址,6個大題。
選擇題***題:
- var arr = [1,2,3,4,5];
- arr.splice(1,2,3,4,5);
- arr?
考察數(shù)組splice的用法。
后面幾個選擇題忘了(別打臉),選擇題都不是很難。
大題:
1.考查css的基本知識,給出html基本代碼。寫css代碼, 每個div是一個盒子模型。中間文字水平垂直居中,三個盒子水平排列。(比較基礎(chǔ),代碼就不上了)
2.多維數(shù)組轉(zhuǎn)一位數(shù)組:原題:[1,[2,3]] ==》 [1,2,3]
- var arr = [1,[[4,5,6],2,[[[7,8,9]]],3]]; //轉(zhuǎn)成一位數(shù)組:[1, 4, 5, 6, 2, 7, 8, 9, 3]
- function f(arr){
- if(Object.prototype.toString.call(arr) != '[object Array]') //判斷arr是不是數(shù)組
- return;
- var newArr = [];
- function fn(arr){
- for (var i = 0; i < arr.length; i++) {//遍歷數(shù)組
- if(arr[i].length){//判斷是不是多維數(shù)組
- fn(arr[i]); //遞歸調(diào)用
- }else{
- newArr.push(arr[i]);
- }
- }
- }
- fn(arr);
- return newArr;
- }
- console.log(f(arr));
3.數(shù)字類型轉(zhuǎn)千分位表示
- var num = 123456789.9; //結(jié)果轉(zhuǎn)成千分位表示 123,456,789.9
- function f(num){
- if(typeof num != 'number')
- return;
- num += '';
- if(num.indexOf('.')!=-1){ //判斷是否存在小數(shù)
- return fn(num.split('.')[0])+'.'+num.split('.')[1];
- }else{
- return fn(num);
- }
- function fn(newNum){
- var str = '';
- var l = newNum.length;
- while(l>3){
- str = ','+newNum.substring(l-3,l) + str;
- l = l-3;
- }
- str = newNum.substring(0,l) + str;
- return str;
- }
- }
- console.log(f(num));
4.解析url:var str = 'http://s.weibo.com/weibo/Aralic?topnav=1&wvr=6'獲得參數(shù)名和參數(shù)值:
(以前做過類似的題目,解析url一系列的值,阿里這題感覺稍微簡單一點(diǎn))
- function f(url){
- var l = url.indexOf('?');
- if(l!=-1){
- var obj = {};
- var arr = url.substring(l+1,url.length).split('&');
- for(var i = 0; i<arr.length; i++){
- obj[arr[i].split('=')[0]] = arr[i].split('=')[1];
- }
- return obj;
- }
- }
- console.log(f('http://s.weibo.com/weibo/Aralic?topnav=1&wvr=6'))
有幸看到的園子大牛幫忙給點(diǎn)意見,不是專門學(xué)計算機(jī)的,算法比較差。