// 传统方式,遍历元素比较 function unique(arr) { const res = [] arr.forEach(item => { if (res.indexOf(item) < 0) { res.push(item) } }) return res } console.log(unique([1,2,3,4,1,5,3,4,6,2,5,9,6])) // 使用es6:Set,Set是无序结构,不能重复 function setArr(arr){ const set = new Set(arr) return [...set] } console.log(setArr([1,2,3,4,1,5,3,4,6,2,5,9,6])) //对象键值对方式,因为对象键是不可重复的 function objArr(arr){ const obj = {} const result=[] arr.forEach(item=>{ if(!obj[item]){ obj[item]=item result.push(item) } }) return result } console.log(objArr([1,2,3,4,1,5,3,4,6,2,5,9,6]))
考点:
1、去重的多种解决思路