首页 > 编程语言 > 详细

数组去重

时间:2019-07-23 17:24:09      阅读:87      评论:0      收藏:0      [点我收藏+]

一、利用对象键唯一的特性(也是性能比较高的方法)

    let arr = [1, 2, 3, 4, 8, 10, 4, 8, 12]
    function uniq(arr) {
      let obj = {}
      let res = []
      for (let i of arr) {
        if (!obj[i]) {
          res.push(i)
          obj[i] = 1
        }

      }
      return res
    }
    console.log(uniq(arr)) //[1, 2, 3, 4, 8, 10, 12]

二、es6的new Set()

let arr = [1,2,3,4,8,10,4,8,12]
let newarr = [...new Set(arr)]
console.log(888,newarr) //[1, 2, 3, 4, 8, 10, 12]

三、filter()(性能最低)

let arr = [1,2,3,4,8,10,4,8,12]
let newarr = arr.filter((v,index) => arr.indexOf(v) === index)
console.log(888,newarr) //[1, 2, 3, 4, 8, 10, 12]

ps:这3种是比较常见并且写起来比较简洁的,还有很多方法,比如双循环、sort等,个人觉得又绕写的又多,性能也不高,就不做介绍了。

数组去重

原文:https://www.cnblogs.com/woniubushinide/p/11232420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!