js数组的去重

65 阅读1分钟

第一种: 利用数组的indexOf方法

indexOf的作用:查找数组中相对应的下标, 如果没有 则返回-1

const unique = arr => {
     let res = []
     for(let i = 0; i < arr.length; i++ ) {
         if(res.indexOf(arr[i]) === -1) res.push(arr[i])
     }
     return res
}
console.log(unique([1,2,3,4,2,1,4]))  // [1,2,3,4]

第二种:利用数组的includes方法

const unique2 = arr => {
    let res = []
    for(let i = 0; i < arr.length; i++) {
          if(!res.includes(arr[i])) {
              res.push(arr[i])
          }
    }
    return res
}
console.log(unique2([1,2,3,4,2,1,4]))

第三种: 利用map

const unique4 = arr => {  
  const map = new Map()  
  const res = []  
  for (let i = 0; i < arr.length; i++) {    
    if (!map.has(arr[i])) {      
      map.set(arr[i], true)
      res.push(arr[i])
    }  
  }  
  return res
}