常见问题

1、数据去重有多少种方式?
Set方式

const re = [...new Set(arr)]
const re = Array.form(new Set(arr))

Map方式(无限制)或对象键值方式(限制为去重的是字符串和数字)

const re = new Map(arr)
const temp= new Map()
arr.forEach(i=>{
temp.set(i,0)
temp1[i] = 0
})
const re =  [...temp.keys()]
const re =  temp1.keys()

遍历加查询方法

const re = []
arr.forEach(i=>{
 const flag = re .indexOf(i)===-1 // lastIndexOf
 const flag = re .includes(i)
 const flag = !re.find(value=>value===i) // findIndex
 const flag = re.filter(v=>v===i).length===0
 const flag = re.some(v=>v===i)
  // for循环查找
 if(flag){
   re.push(i)
 }
})

reduce

const re = arr.reduce((total,i) => {
 if(!total.includes(i)){
  total.push(i)
 }
 return total
},[])

你可能感兴趣的:(常见问题)