返回介绍

数组去重的多种实现方式

发布于 2024-09-07 20:34:44 字数 1301 浏览 0 评论 0 收藏 0

使用 Set

let arr = [1,2,3,2,4,5,3,6,2]
function arrayToHeavy1(arr) {
  return [...new Set(arr)]
}
console.log(arrayToHeavy1(arr)) //[ 1, 2, 3, 4, 5, 6 ]

使用 indexOf

function arrayToHeavy2(arr) {
  let newArr = []
  for(let i=0; i<arr.length; i++) {
    if(newArr.indexOf(arr[i]) == -1){
      newArr.push(arr[i])
    }
  }
  return newArr
}
console.log(arrayToHeavy2(arr)) //[ 1, 2, 3, 4, 5, 6 ]

使用 filter

function arrayToHeavy3(arr) {
  return arr.filter((item, index) => {
    return arr.indexOf(item) == index
  })
}

console.log(arrayToHeavy3(arr)) //[ 1, 2, 3, 4, 5, 6 ]

使用 Map

function arrayToHeavy4(arr) {
  let map = new Map()
  for(let i=0; i<arr.length; i++) {
    if(!map.has(arr[i])){
      map.set(arr[i], 1)
    }
  }
  return [...map.keys()]
}
console.log(arrayToHeavy4(arr)) //[ 1, 2, 3, 4, 5, 6 ]

使用 include

function arrayToHeavy5(arr) {
  let res = []
  for(let i=0; i<arr.length; i++) {
    if(!res.includes(arr[i])) {
      res.push(arr[i])
    }
  }
  return res
}
console.log(arrayToHeavy5(arr)) //[ 1, 2, 3, 4, 5, 6 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文