JavaScript数组去重
一.前言
如今网页开发大部分公司都采用前后端分离进行开发,后端仅仅提供数据,由前端进行处理并渲染。因此数据的处理已经成为前端开发人员必须掌握的技术。数据的存储一般会采用json对象或者数组的形式进行保存,所以笔者在这里介绍一下关于数组的去重。
数组去重的实现方式有很多,我们可以使用数组的过滤函数(filter)以及set集合进行去重。
1. Array.prototype.filter()
let arr = [1, 1, 1, 2, 3, 4, 5, 67, 7, 7, 7];
function quhcong(arr) {
return arr.filter((item, index) => {
return arr.indexOf(item) === index
})
}
console.log(quhcong(arr))
我们都知道数组的**filter()**传递一个函数,返回 执行结果为true的一项,如果当前item的索引跟数组中第一次出现这个值的索引不一样时,说明该项就是重复的,所以返回的是false。因此达到了一个去重的 目的。
2.set()去重
function quchong(arr){
return Array.from(new Set(arr))
}
Set集合有一个特性就是集合中的所有元素都是不重复的,它可以接收一个数组作为参数,返回一个set实例对象,这个对象中保存了去重之后的所有元素,然后我们将set集合转换成数组即可。