数组去重的方法最后一篇了,最后写两个ES6的方法。相对于之前的,那真是简单简单再简单了。但是!兼容性也是需要注意的一点!
1
第一个方法:set方法。直接开始,代码非常容易,老数组来一个。
vararr= [3,5,2,6,5,7];
接下来是一个新的小物种:
varnewObj=newSet(arr);
能看到,我们用一个新变量承接的是一个以前没见过的东西,它就是ES6新增数据结构Set。类似于数组,但是没有重复值。Set本身是一个构造函数,用来生成Set数据结构。长度用size表示,Set对象中的所有值都不会重复。
接着用from方法,参数传递对象,将对象转为数组。说白了就是把数组弄成对象,通过对象中值不会重复这一特型,达到对象中不重复的情况,再转成数组。
varnewArr= Array.from(newObj);
那么,我们可以简写以下,更省一点地方。
varnewArr= Array.from(newSet(arr));
写好啦,看看最终的完整版:
vararr= [3,5,2,6,5,7];
varnewArr= Array.from(newSet(arr));
console.log(newArr);
已经简单到一塌糊涂了,但还有简单的!
2
第二种方法拓展运算符法
扩展运算符是三个点(...)。将一个数组转为用逗号分隔的参数序列。它具有合并复制数组等功效,居家常备。
老数组来一个。
vararr= [3,5,2,6,5,7];
最后一句啦!
varnewArr = [...new Set(arr)];
完了,真完了,就这样,最后看看新数组就好了。你的编辑器里可能会报错,别害怕,就是这样写的。
好啦!年前的最后一篇技术文章啦!再写你们也不看啦,我也要大吃大喝啦!过年前再给大家拜年!
本微信号所有内容为前端客用户原创,前端客已获得独家授权,欢迎分享。
如有转载需求请留言征询,对于未经许可私自篡改内容、转载的行为我们保留追究维权的合法权利!
领取专属 10元无门槛券
私享最新 技术干货