阿里在線前端筆試題
一共13題,6個選擇,1題是github地址或博客微博地址,6個大題。
選擇題第一題:
var arr = [1,2,3,4,5];
arr.splice(1,2,3,4,5);
arr?
考察數組splice的用法。
后面幾個選擇題忘了(別打臉),選擇題都不是很難。
大題:
1.考查css的基本知識,給出html基本代碼。寫css代碼, 每個div是一個盒子模型。中間文字水平垂直居中,三個盒子水平排列。(比較基礎,代碼就不上了)
2.多維數組轉一位數組:原題:[1,[2,3]] ==》 [1,2,3]
var arr = [1,[[4,5,6],2,[[[7,8,9]]],3]]; //轉成一位數組:[1, 4, 5, 6, 2, 7, 8, 9, 3]
function f(arr){
if(Object.prototype.toString.call(arr) != '[object Array]') //判斷arr是不是數組
return;
var newArr = [];
function fn(arr){
for (var i = 0; i < arr.length; i++) {//遍歷數組
if(arr[i].length){//判斷是不是多維數組
fn(arr[i]); //遞歸調用
}else{
newArr.push(arr[i]);
}
}
}
fn(arr);
return newArr;
}
console.log(f(arr));
當時在做試卷的時候 沒有考慮多維數組,只片面的'為了解題,沒有用遞歸。
3.數字類型轉千分位表示
var num = 123456789.9; //結果轉成千分位表示 123,456,789.9
function f(num){
if(typeof num != 'number')
return;
num += '';
if(num.indexOf('.')!=-1){ //判斷是否存在小數
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'獲得參數名和參數值:
(以前做過類似的題目,解析url一系列的值,阿里這題感覺稍微簡單一點)
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
obj[arr[i].split('=')[0]] = arr[i].split('=')[1];
}
return obj;
}
}
console.log(f('http://s.weibo.com/weibo/Aralic?topnav=1&wvr=6'))
【阿里在線前端筆試題】相關文章:
2017阿里巴巴前端實習生在線筆試總結07-22
阿里巴巴綜合筆題11-05
阿里巴巴秋季校園招聘研發工程師在線筆試題07-26
騰訊前端筆試題目07-15
阿里巴巴B2B前端面試的經驗08-22
阿里巴巴Java筆試題10-15
阿里巴巴程序筆試題01-16
2017前端面試筆試題06-15
360筆試題目07-11