专业的JAVA编程教程与资源

网站首页 > java教程 正文

前端面试常问--JavaScript数组去重的几种方法

temp10 2024-11-22 20:59:19 java教程 14 ℃ 0 评论

JavaScript数组去重的几种方法

方法一:用array.filter数组方法

前端面试常问--JavaScript数组去重的几种方法

const myFilter = (arr) => {
  return arr.filter((item, index) => {
    return arr.indexOf(item) === index
  })
}

方法二:双层循环使用splice删除重复数值

let myFilter = (arr) => {
  for(let i = 0; i < arr.length; i++){
    for(let j = 0; j < i; j++){
      if(arr[j] === arr[i]){
        arr.splice(j, 1)
      }
    }
  }
  return arr
}

方法三:使用Map数据结构去重

let myFilter = (arr) => {
  let m = new Map()
  for(let i = 0; i < arr.length; i++){
    if(m.get(arr[i])){
      m.set(arr[i], m.get(arr[i]) + 1)
    }
    else{
      m.set(arr[i], 1)
    }
  }
  let res = []
  for(let item of m){
    res.push(item[0])
  }
  return res
}

方法四:使用Set数据结构的特性去重

let myFilter = (arr) =>{
  let s = new Set(arr)
  return Array.from(s)
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表