不管是面试还是平时写程序的过程中我们经常会遇到要对数组进行去重的问题,该文总结了一些常见的数组去重的方法。
对象键值对法
思路:新建一js对象json以及新数组reArr,遍历数组元素是否为json的键,不是则创建,是则判断元素的类型在键对应的值中是否存在。
测试
遍历数组法
思路:新建一新数组,遍历传入的数组,值不在新数组就加入该新数组中;该方法最主要的是要使用ES5中的indexOf方法。但是ie8一下不支持,所以需要做一些兼容
|
|
去重代码
测试
数组下标判断法
思路:将传入的数组的第一项目添加到一个新的数组,后遍历传入的数组中的元素利用indexOf方法,若返回值与循环中的索引不同则是重复的元素。
测试
排序后相邻去除法
思路:先将数组经过sort排序,这时候相同的元素处于相邻的位置,所以在便利数组的时候我们只将与前一值不重复的值
|
|
测试