首页 > 代码库 > 前端笔试题及资料集锦(持续更新....)
前端笔试题及资料集锦(持续更新....)
1、(2014年春季阿里巴巴实习生笔试)题目:有一个大数组,var a = [‘1‘,‘2‘,‘3‘,...];a数组的长度是100,内容填充随机整数的字符串,请先构造此数组a,然后设计一个算法,将其内容去重。
分析要点:随机生成数组,数组去重。
1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset=utf-8> 5 <title>demo</title> 6 </head> 7 <body> 8 <span>题目:有一个大数组,var a = [‘1‘,‘2‘,‘3‘,...];a数组的长度是100,内容填充随机整数的字符串,请先构造此数组a,然后设计一个算法,将其内容去重。(解答见控制台)</span> 9 10 11 <script>12 /*生成长度为100,内容为随机整数构成的字符串的函数*/13 var newArr = function(){14 var a = [];15 var i = 0;16 var num = [];17 for(i=0;i<100;i++){18 num[i] = Math.floor(Math.random()*100) + "";19 a.push(num[i]);20 }21 return a;22 }23 var arr = newArr();24 console.log(‘随机生成的长度为100的数组a[]为:‘)25 console.log(arr);26 /* 删除数组a中的重复元素,并返回已删除的元素*/27 var singleNum = function(arr){28 var result = [];29 for(var i=0;i<arr.length;i++){30 for(var j=i+1;j<arr.length;){31 if(arr[j] == arr[i])32 {33 result.push(arr.splice(j,1));34 }else{35 j++;36 }37 }38 }39 return result;40 }41 singleNum(arr);42 /*log出删除重复元素后的a数组,成功去重*/43 console.log(‘去重后的数组a[]为:‘)44 console.log(arr);45 </script> 46 </body>47 </html>
2、(2014年春季阿里巴巴实习生笔试)
题目:给定如下的一段字符串和javascript对象字面量,需要将字符串中所有使用花括号括起来的关键词,统一替换为对象字面量中对应的键值,请使用正则表达式实现字符串的模板替换操作。
字符串:<a href="http://www.mamicode.com/{href}">{text}</a>
对象字面量:
{href:‘//www.taobao.com/‘,text:‘淘宝网‘}
要求:
1.请给出用于配所有花括号关键词的正则表达式;
2.请尽可能考虑正则表达式的兼容性,匹配效率问题;
3.使用原生javascript语言,不依赖任何框架或类库。
正则表达式参考资料:<a href="http://blog.csdn.net/zaifendou/article/details/5746988">http://blog.csdn.net/zaifendou/article/details/5746988</a>
1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset=utf-8> 5 <title>demo</title> 6 </head> 7 <body> 8 9 <span>题目:给定如下的一段字符串和javascript对象字面量,需要将字符串中所有使用花括号括起来的关键词,统一替换为对象字面量中对应的键值,请使用正则表达式实现字符串的模板替换操作。10 <p>字符串:<textarea><a href="{href}">{text}</a></textarea></p>11 <p>对象字面量:12 <textarea>{href:‘//www.taobao.com/‘,text:‘淘宝网‘}</textarea>13 </p>14 <p>要求:</p>15 <p>1.请给出用于配所有花括号关键词的正则表达式;</p>16 <p>2.请尽可能考虑正则表达式的兼容性,匹配效率问题;</p>17 <p>3.使用原生javascript语言,不依赖任何框架或类库。</p>18 <p>正则表达式参考资料:<a href="http://blog.csdn.net/zaifendou/article/details/5746988">http://blog.csdn.net/zaifendou/article/details/5746988</p>19 </span>20 21 22 <script>23 var list = {24 href:‘//www.taobao.com/‘,25 text:‘淘宝网‘26 };27 var str = ‘<a href="http://www.mamicode.com/{href}">{text}</a>‘;28 console.log(str.replace(/\{(\w+)}/g,function(i,id){return list[id];}));29 30 31 </script> 32 </body>33 </html>
分析:replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个 与正则表达式匹配的字符串。
stringObject.replace(regexp/substr,replacement);
题目这样出,不禁想到模板的问题,看很多大公司网站源码都有这样的 用法,无非是为了与后端模板的复用。模板引擎就是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,可以大大提高开发效率,同时也使代码复用变得更加容易。
前端笔试题及资料集锦(持续更新....)