vue数组去重

最近在开发中遇到了需要对数组进行去重操作,在这里记录一下基本的去重方法

数组去重
对于简单的数组进行去重,可以使用Set集合,基本上可以对所有数据类型进行去重

test() {
      const arr = [true, 1, 'str', 's', 2, false, true, {}, [], function() {}, {}, [1], [2], { obj: 1 }, 2, 'str']
      const qc = [...new Set(arr)]
      console.log('qc')
      console.log(qc)
    }

控制台打印结果

对象数组去重
对象数组去重,可以使用Map集合,通过对象内的某个属性进行去重

test() {
      const arr = [
        {
          name: '张三',
          age: 22
        },
        {
          name: '李四',
          age: 22
        },
        {
          name: '张三',
          age: 23
        }
      ]
      const map = new Map()
      const qc = arr.filter(key => !map.has(key.name) && map.set(key.name, 1)) // 这里对name属性进行去重
      console.log('qc')
      console.log(qc)
    }

控制台打印
在这里插入图片描述
上面就是两种数组去重的基本操作了,仅代表个人观点

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐