ECMAScript6 数组去重

2024-03-16 16:59:09 浏览数 (2)

数组去重这个问题无论是在面试当中,还是实际项目中,出现的频率都挺多的,而我们以往的解决方式,就是通过新建一个空的数组,通过indexOf()方法进行新数组和原数组的子元素比较,来得到一个没有重复子元素的新数组

代码语言:javascript复制
function unique(Arr){
    var arr = [];
    for(var i = 0; i < Arr.length; i  ) {
       if(arr.indexOf(Arr[i])==-1) {
           arr.push(Arr[i]);
       }
    }
    return arr;
 }
运行结果运行结果

一共 9 行代码,也不是很多,但在 ES6 中,新增的Set()对象和Array.from()方法,可以让我们通过两行代码,就能实现数组去重

Set 对象允许你存储任何类型的唯一值,而 Set 中的值总是唯一的,所以会判断两个值是否相等,Set 返回的是对象,我们还需要通过Array.from()方法,在一个类数组或可迭代对象中,创建一个新的数组实例

代码语言:javascript复制
var arr = [1,1,2,3,4,6,7,6];
var Arr = Array.from(new Set(arr));
运行结果运行结果

0 人点赞