玖叶教程网

前端编程开发入门

工作面试常备:利用Javascript原生API,给数组去重的3种方法

面试前端的童鞋,经常会被问到这个问题:怎么为Javascript的数组Array去重呢?

看似很基础很简单的问题,却能根据不同回答判断出面试者的水平高低。

即时不是为了面试,数组去重问题也是工作中经常会用到的。

最传统的方法就是用递归去重,当然是最笨的,因为随着ES标准(ECMAScript)的升级迭代,越来越多的方法可以供我们使用,但是那种方式才时最好的呢?下边介绍3种方法,仅供你选择参考。

方法1:使用 es5 的 filter


使用Array.prototype.filter()方法,对元素进行过滤:

filter

方法2:利用es6 的 Map 类型


Map是es6新支持的数据类型,其中方法set、has、get、clear、delete、keys都很不错。

Map

方法3:利用es6 的 Set 类型


利用Set的特性:即元素只能出现一次,即每个元素都是唯一的,跟Java中是类似的。

PS:下面示例中使用了(...)扩展语句,意思是把数组转换成n个对象的方法。

Set

总结


我觉得第三种方法最优,也是经常用的,起码在代码上更简洁明了,你觉得呢?如有不足,欢迎指正!谢谢:)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言