vue 对象数组去重

1、利用set去重

其实很简单,一般的数组去重可以直接用 new Set() 方法即可,但是数组对象的话,比较复杂,不能直接用,我们可以采取间接的方法来去重

对象去重

unique(arr) { // 根据唯一标识id来对数组进行过滤const res = new Map();//定义常量 res,值为一个Map对象实例//返回arr数组过滤后的结果,结果为一个数组   过滤条件是,如果res中没有某个键,就设置这个键的值为1return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
}

简单格式
代码如下(示例):

function arr1(arr) {return Array.from(new Set(arr))
}
var arr = [1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 4, 2, 4, 1,];
console.log(arr1(arr))

————————————————
下面有一个示例,根据对象的id作为去重的依据:

<el-button type="primary" size="medium" @click="quChong()">点击</el-button>
quChong() {let arr = [{id: 1,name: '111'},{id: 1,name: '111'},{id: 2,name: '222'},{id: 3,name: '333'}];console.log(arr);console.log('--------------------');let arr1 = this.unique(arr);console.log(arr1);},unique(arr) {const res = new Map();return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1));},

vue 对象数组去重相关推荐

  1. 两个对象数组去重的3种方法

    两个对象数组去重的3种方法 前言 问题描述 解决方案一 解决方案二 解决方案三 前言 前段时间写过JavaScript数组去重最简单的 4 种方案,里面的数组元素是基本类型.本文要讲的数组元素是对象, ...

  2. 分享6个对象数组去重的方法

    大家好,关于对象数组去重的业务场景,想必大家都遇到过类似的需求吧,针对这样的需求,你是怎么做的呢. 下面我就先和大家讨论下基于对象的某个属性如何去重. 方法一:使用 .filter() 和 .find ...

  3. 使用ES6进行对象数组去重

    之前使用new Set数组去重,只可以去重简单字符数组,或者数字数组等.Array.from(new Set(arr))即可.但是这种方案针对对象数组并不适用. 那么简易的使用ES6进行对象数组去重呢 ...

  4. 【ES6】最简单的对象数组去重的方法

    对象数组去重的方法 // arr传数组名,attr传属性名 const uniqueArr=(arr,attr)=> {const res = new Map();return arr.filt ...

  5. JS对象数组去重简单有效方法

    I.输入 JS对象数组去重是业务经常遇到的方法,稍微简洁一点的方法,如下: var data = [{"id": 1, "name": "李四1&qu ...

  6. es6 使用filter给对象数组去重

    一般的去重方式 var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2]; var arr2 = arr.filter((x, index ...

  7. js 去重某个键值 数组对象_js数组去重(包括对象数组去重)

    2019.08.02补: 对象数组建议直接循环然后使用工具库(lodash)的深比较,评论里也有指出,文章的方法有些取巧了 生产环境不要这么玩~. 方法一:利用ES6的Array.from()/扩展运 ...

  8. 对象数组去重——数组删除所有含有固定id的对象

    一.重要方法 filter() 方法可以创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 1.数组去重 [86,77,77,86] ===> [86,77] /* 去除重 ...

  9. 每日一天:对象数组去重

    function unique(arr){let unique = {};arr.forEach(function(item){unique[JSON.stringify(item)]=item;// ...

最新文章

  1. bzoj 2946 [Poi2000]公共串——后缀自动机
  2. 【ACM】家喻户晓的中药店(待更)
  3. Node.js项目实践:构建可扩展的Web应用
  4. GDI+ 中发生一般性错误(生成验证码时出现的错误)
  5. 解决oracle ORA-01078,LRM-00109故障一例!
  6. UVA 10341 二分搜索
  7. SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版
  8. python 赋值方法_基于Python List的赋值方法
  9. Shiro 实战教程
  10. Fisher线性判别(*)
  11. java实现qq空间模块_Java实现模拟QQ空间图片上传
  12. 瀑布模型,快速原型模型,增量模型,螺旋模型以及敏捷开发模型的相关概念
  13. .NET BackgroundWorker
  14. 不用做实验也能发论文——带你看懂元分析
  15. excel不同文件表格批量加表头vba_用Excel VBA实现多文件夹内文件加入表头 遍历文件...
  16. win10修改dns服务器命令,Win10怎么更改首选DNS服务器地址?
  17. vantfieldlabel样式修改_Vant Field 输入框
  18. Redis 安装说明
  19. python中quadratic_python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解...
  20. ●UVA 11021 tunnello

热门文章

  1. linuxCentOS如何汉化系统
  2. 影之刃服务器维护,《影之刃3》服务器卡顿问题解决方法
  3. Android公告栏的几种实现方式与优缺点
  4. 提交的JDK输入法光标跟随,被要求予以详细说明
  5. 2.17.内核的移植1-从三星官方内核开始移植
  6. 【python pdf 文件下载】给定pdf url下载pdf文件
  7. Java注解Target、Retention、Inherited、Documented的作用简述,以@Transactional注解为例(处女座总结)
  8. 三年级信息技术连接计算机教案,三年级信息技术计算机教案全册.doc
  9. linux内核4.9版本,Linux Kernel 4.9.14 LTS和4.4.53 LTS维护版本更新发布
  10. 《木子办公助手》V1.3.1