阿里在线前端笔试题

本人大三,非985,211。

参加了2015年暑假实习校园招聘,好吧,其实就看看题目长什么样字、废话不多说,上题。

阿里在线前端笔试题

一共13题,6个选择,1题是github地址或博客微博地址,6个大题。

选择题第一题:

 
  
  1. var arr = [1,2,3,4,5]; 
  2. arr.splice(1,2,3,4,5); 
  3. arr? 

考察数组splice的用法。

后面几个选择题忘了(别打脸),选择题都不是很难。

大题:

1.考查css的基本知识,给出html基本代码。写css代码, 每个div是一个盒子模型。中间文字水平垂直居中,三个盒子水平排列。(比较基础,代码就不上了)

2.多维数组转一位数组:原题:[1,[2,3]] ==》 [1,2,3]

 
  
  1. var arr = [1,[[4,5,6],2,[[[7,8,9]]],3]]; //转成一位数组:[1, 4, 5, 6, 2, 7, 8, 9, 3] 
  2. function f(arr){ 
  3.     if(Object.prototype.toString.call(arr) != '[object Array]')  //判断arr是不是数组 
  4.         return
  5.     var newArr = []; 
  6.     function fn(arr){  
  7.         for (var i = 0; i < arr.length; i++) {//遍历数组 
  8.             if(arr[i].length){//判断是不是多维数组 
  9.                 fn(arr[i]);    //递归调用 
  10.             }else
  11.                 newArr.push(arr[i]); 
  12.             } 
  13.         } 
  14.     } 
  15.     fn(arr); 
  16.     return newArr; 
  17. console.log(f(arr)); 
当时在做试卷的时候 没有考虑多维数组,只片面的为了解题,没有用递归。

3.数字类型转千分位表示

 
  
  1. var num = 123456789.9//结果转成千分位表示 123,456,789.9 
  2. function f(num){ 
  3.     if(typeof num != 'number'
  4.         return
  5.     num += ''
  6.     if(num.indexOf('.')!=-1){ //判断是否存在小数 
  7.         return fn(num.split('.')[0])+'.'+num.split('.')[1]; 
  8.     }else
  9.         return fn(num); 
  10.     } 
  11.     function fn(newNum){ 
  12.         var str = ''
  13.         var l = newNum.length; 
  14.         while(l>3){ 
  15.             str = ','+newNum.substring(l-3,l) + str; 
  16.             l = l-3
  17.         } 
  18.         str = newNum.substring(0,l) + str; 
  19.         return str; 
  20.     } 
  21. console.log(f(num)); 

4.解析url:var str = 'http://s.weibo.com/weibo/Aralic?topnav=1&wvr=6'获得参数名和参数值:

(以前做过类似的题目,解析url一系列的值,阿里这题感觉稍微简单一点)

 
  
  1. function f(url){ 
  2.     var l = url.indexOf('?'); 
  3.     if(l!=-1){ 
  4.         var obj = {}; 
  5.         var arr = url.substring(l+1,url.length).split('&'); 
  6.         for(var i = 0; i<arr.length; i++){ 
  7.             obj[arr[i].split('=')[0]] = arr[i].split('=')[1]; 
  8.         } 
  9.         return obj; 
  10.     } 
  11. console.log(f('http://s.weibo.com/weibo/Aralic?topnav=1&wvr=6')) 

有幸看到的园子大牛帮忙给点意见,不是专门学计算机的,算法比较差。


来源:51CTO

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值