- 相关推荐
阿里在线前端笔试题
一共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<arr.length; p="" 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'))
【阿里在线前端笔试题】相关文章:
职业心理在线测试题及答案06-05
面试题:对跳槽的看法11-04
面试心理测试题08-19
铁塔公司笔试试题03-25
幼师招聘笔试题目04-02
报社笔试题目及答案03-18
英语电话面试题目04-06
面试题:怎样对待失败04-22
网易商务专员笔试题回顾10-12
莱商银行招聘笔试题04-14