开发遇到一个历史搜索记录去重复的问题,如果采用传统的for循环来实现,那又费精力,又费性能,想找找有没有更好的方法来实现,果然找到一个——set去重复。
按照我浅显的理解,Set应该是平行于字符串、数组、对象的一个新数据类型:set。
格式跟数组类似,特点是整个列表中没有重复项,自动去重。
方法很简单:
let new_set=new Set(arr);
就这一步就完成了去重复,需要注意的是,这时候new_set的数据类型并不是数组,而是Set,所以我在push/pop/shift/unshift的时候报错,折腾了半天,此时需要把new_set转为数组才可以:
arr=[...new_set];
此时arr已经完成了人生逆袭,脱胎换骨,成为了没有重复的新数组!