前端笔试题及资料集锦(持续更新....)

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="{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="{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);

题目这样出,不禁想到模板的问题,看很多大公司网站源码都有这样的 用法,无非是为了与后端模板的复用。模板引擎就是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,可以大大提高开发效率,同时也使代码复用变得更加容易。

时间: 2024-08-03 13:06:24

前端笔试题及资料集锦(持续更新....)的相关文章

前端笔试题及资料集锦(二)(持续更新....)

一.(2014阿里巴巴校招在线笔试) 题目:请选择出前端页面开发,执行javascript代码alert(1)的代码: 1.<iframe src="javascript:alert(1);"></iframe> 2.<img src=""/onerror=alert(1);>  3.<s style="top:expression(alert(1))"></s>  4.<div

前端笔试题及资料集锦(二)

一.(2014阿里巴巴校招在线笔试) 题目:请选择出前端页面开发,执行javascript代码alert(1)的代码: 1.<iframe src="javascript:alert(1);"></iframe> 2.<img src=""/onerror=alert(1);>  3.<s style="top:expression(alert(1))"></s>  4.<div

前端笔试题总结---持续更新

写在前面:.... 1字符串逆序 function reverse(str){ return str.split("").reverse().join("");//直接用函数 var str1="";//从后向前输出 for(var i=str.length-1;i>=0;i--){ str1+=str[i]; } return str1; var len=str.length;//字符串原地逆序 for(var i=0;i<len;

前端面试题总结——Html5(持续更新中)

前端面试题总结--H5(持续更新中) 1.HTML5 为什么只需要写 <!DOCTYPE HTML>? HTML5 需要doctype来规范浏览器的行为,让浏览器按照它们应该的方式来运行:HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型. 2.HTML5的form如何关闭自动完成功能? 给不想要提示的 form 或某个 input 设置为 autocomplete=off. 3.HTML5 中如何嵌入音频? 当前,audio 元素支持三种音频格式:&l

&lt;转&gt;网易2016实习生前端笔试题部分总结

网易2016实习生前端笔试题部分总结 原文地址:http://www.cnblogs.com/venoral/p/5325202.html 这只是部分题,答案为个人观点如有错误欢迎指出,感觉考点都挺基础,但是很注重考细节方面,通过整理也知道自己在CSS3和HTML5,网络知识等方面的不足还是得多学多练多思考.攒rp,希望自己在明天360笔试中能轻松答过~ css 1.多选 //HTML <p>很长的一段文字,很长的一段文字,很长的一段文字,特别长的文字</p> //CSS p{ w

阿里2道前端笔试题+堆糖2道前端笔试题

阿里前端笔试题 1.一个表格HTML代码如下 <table id="table1"> <tbody> <tr><td>1</td><td><button>Delete</button></td></tr> <tr><td>2</td><td><button>Delete</button></

经典的阿里前端笔试题

1 请说明下面各种情况的执行结果,并注明产生对应结果的理由. function doSomething() { alert(this); } ① element.onclick = doSomething,点击element元素后. ② element.onclick = function() {doSomething()}, 点击element元素后. ③ 直接执行doSomething(). 参考答案: 1.element:调用执行时直接指向事件元素. 2.window:函数调用中的 thi

js+html+css实现简单页面交互功能(2015知乎前端笔试题)http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html?from=y1.7-1.2

js+html+css实现简单页面交互功能(2015知乎前端笔试题) http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html?from=y1.7-1.2 密码:hellozhihu

前端笔试题:拍扁多维数组、提取URL中的参数变成对象、实现string的trim()函数、判断Email地址、16进制颜色转rgb格式

(1)拍扁数组 这是一个著名互联网公司今天的前端笔试题:多维数组维数不定,如[2,4,1,[2,3,4,[1,2],5,3],3,8]拍扁为[2,4,1,2,3,4,1,2,5,3,3,8].维数不定,应该要用递归: 答案: function flatten(arr){ var arrLength=arr.length; for(var i=0;i<arrLength;i++){ if(arr[i].constructor==Array){ arr.splice(i,1,flatten(arr[