您的位置 首页 php

Javascript里几个经典的数组去重算法,你可能会用到

在各大公司面试中,我们经常会被问到数组去重算法,这也是一道非常经典的面试题,一般考官会让你用自己擅长的语言,不管是C,C++, Java ,PHP,Javascript都可以。今天我们就来看看,如何利用Javascript来完成数组去重算法。

Javascript的logo

  • 遍历数组算法

核心思想:在函数内部新建一个数组,然后对传入的数组进行遍历,值不在新数组中就添加进去,如果存在就不添加。注意:本算法采用了ES5的indexOf方法,但是因为在IE8以下版本的浏览器中还不支持,因此需要写一个polyfill,算法代码如下所示

遍历数组法

  • 对象键值对方法

核心思想:新建一个JS对象以及一个新的数组,对传入的数组进行遍历,判断值是否为JS对象的键,如果不是,则给该JS对象插入该键,同时插入新的数组。该算法执行速度最快,但是由于新建了额外的对象与数组,会占用比较的空间。算法代码如下:

数组键值对方法

  • 先排序,再去重

核心思想:首先借用原生sort方法进行排序,然后对排序后的新数组进行相邻元素去重,代码如下

先排序,再去重

  • 优先遍历数组法

核心思想:双层循环,找出最右边的没有重复的值加入新的数组中

优先遍历数组

  • 运行结果

运行几个方法的代码如下

运行方法

在chrome浏览器中运行后,结果如下图所示,

运行结果

  • 总结

今天我们讲解了下Javascript中比较经典的数组去重算法,希望能对大家有所帮助

如果喜欢的话,记得关注小编噢,小编后续会坚持出更多技术性的文章,如果有任何问题,也欢迎提问,小编都会尽力解答的。

文章来源:智云一二三科技

文章标题:Javascript里几个经典的数组去重算法,你可能会用到

文章地址:https://www.zhihuclub.com/154347.shtml

关于作者: 智云科技

热门文章

网站地图