set是ES6新提出开的一种数据类型
set里面的元素没有重复的
所以也是唯一的,经常用到set进行去重
例子如下:
let arr = [1,2,1,2,3]---------正常去重之后返回的是[1,2,3]
具体是怎么实现的呢
第一种:
var newArr =new Set(Array.from(a))
第二种:
var newArr = [...new Set(a)]
第三种:
let arrTemp=arr.reduce((acc,curr)=>{
return acc.includes(curr)?acc:acc.concat(curr)
},[])
第四种:
let arrB = arr.filter((val,index,arr)=>arr.indexOf(val)==index)
第五种:
let duplicate = function (arr){
if(arr.length<=0) return []let num = 0for(let j=1;j<arr.length;j++){
if(arr[j] !==arr[num]){
num++arr[num] = arr[j]}}return num+1
}
//console.log(duplicate([1,1,2]))-------[1,2]