7个去伪存真的javascript面试题_javascript技巧

7个去伪存真的javascript面试题_javascript技巧

ID:30747510

大小:53.50 KB

页数:5页

时间:2019-01-03

7个去伪存真的javascript面试题_javascript技巧_第1页
7个去伪存真的javascript面试题_javascript技巧_第2页
7个去伪存真的javascript面试题_javascript技巧_第3页
7个去伪存真的javascript面试题_javascript技巧_第4页
7个去伪存真的javascript面试题_javascript技巧_第5页
资源描述:

《7个去伪存真的javascript面试题_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、7个去伪存真的JavaScript面试题下面这7个JavaScript面试问题是你应该在面试前先问的。否则,很有可能会浪费你的时间。1.创建JavaScript对象的两种方法是什么?这是一个非常简单的问题,如果你用过JavaSwipt的话。你至少得知道一种方法。但是,尽管如此,根据我的经验,也有很多自称是JavaScript程序员的人说不知道如何回答这个问题。•使用“new”关键字来调用函数。•open/dose花括号。varo={};你也可以继续捉问,“使用new关键字,什么情况下创建对象?”但是,由于我只是想淘汰一些人,所以这些问题我会等到真正面试的时候去问。2•如何创建数组?这和“如

2、何创建对象”是相同级别的问题。然而,也冇一些人回答得了第一个问题,却不能回答这个问题。用下而的代码,简简单单就能创建一个数组:varmyArray=newArray();创建数组是一个很复杂的过程。但是我希望能从应聘者口屮听到使用方括号的答案。varmyArray=[];当然,我们述可以继续问其他问题,比如如何高效地删除JavaScript数组中的重复元素等,但是由于我们只需要知道应聘人员是否值得进一步的观察,关于数组的问题我会到此结束。再來针对如何高效地删除JavaScript数组中的重复元素说一说:js如何实现数组去重整理出5种方法。具体的方法介绍:1)•遍历数组法最简单的去重方法,实

3、现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法“indexOf”是ECMAScript5方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下://最简单数组去重法functionuniquel(array){varn二[];//一个新的临时数组〃遍丿力当前数组for(vari=0;i

4、是否支持indexOf,indexOf为ecmaScript5新方法IE8以下(包括TE8,TE8只支持部分ecma5)不支持if(!Array.prototypc.indexOf){//新增indexOf方法Array.prototype.indexOf=function(item){varresult二-1,aitem二null;if(this,length二二0){returnresult;}for(vari=0,len二this.1ength;i

5、lt;}}1)・对象键值对法该方法执行的速度比其他任何方法都快,就是占用的内存大一些;实现思路:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新壇该键并放入新数组。注意点:判断是否为js对象键时,会自动对传入的键执行“toStringO”,不同的键可能会被误认为一样;例如:a[l]、a[丫]。解决上述问题还是得调用“indexOf”。//速度最快,占空间最多(空间换吋间)functionunique2(array){varn二{},r=[],len二array.length,val,type;for(vari=0;i

6、val=array[i];type二typeofval;if(!n[val]){n[val]=[type];r.push(val);}elseif(n[val].indexOf(type)<0){n[val].push(type);r.push(val);}}returnr;}1)•数组下标判断法还是得调用“indexOf”性能跟方法1差不多,实现思路:如果当前数组的第i项在当前数组中第一次出现的位置不是i,那么表示第i项是重复的,忽略掉。否则存入结果数组。functionunique3(array){varn=[array[0]];//结果数组〃从第二项开始遍历for(vari=1;i<

7、array.lcngth;i++){〃如果当前数组的第i项在当前数组屮第一次出现的位置不是i,〃那么表示笫i项是重复的,忽略掉。否则存入结果数组if(array.indexOf(array[i])二二i)n.push(array[i]);}rcturnn;}2)•排序后相邻去除法虽然原牛数组的”sort”方法排序结果不怎么靠谱,但在不注重顺序的去重里该缺点毫无影响。实现思路:给传入数组排序,排序后相同值相邻,然后遍历吋新

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。