ES6新特性之Set实现数组去重

开发遇到一个历史搜索记录去重复的问题,如果采用传统的for循环来实现,那又费精力,又费性能,想找找有没有更好的方法来实现,果然找到一个——set去重复。

按照我浅显的理解,Set应该是平行于字符串、数组、对象的一个新数据类型:set。

格式跟数组类似,特点是整个列表中没有重复项,自动去重。

方法很简单:

let new_set=new Set(arr);

就这一步就完成了去重复,需要注意的是,这时候new_set的数据类型并不是数组,而是Set,所以我在push/pop/shift/unshift的时候报错,折腾了半天,此时需要把new_set转为数组才可以:

arr=[...new_set];

此时arr已经完成了人生逆袭,脱胎换骨,成为了没有重复的新数组!

你可能感兴趣的:(前端探究)