vue 对象数组去重
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 对象数组去重相关推荐
- 两个对象数组去重的3种方法
两个对象数组去重的3种方法 前言 问题描述 解决方案一 解决方案二 解决方案三 前言 前段时间写过JavaScript数组去重最简单的 4 种方案,里面的数组元素是基本类型.本文要讲的数组元素是对象, ...
- 分享6个对象数组去重的方法
大家好,关于对象数组去重的业务场景,想必大家都遇到过类似的需求吧,针对这样的需求,你是怎么做的呢. 下面我就先和大家讨论下基于对象的某个属性如何去重. 方法一:使用 .filter() 和 .find ...
- 使用ES6进行对象数组去重
之前使用new Set数组去重,只可以去重简单字符数组,或者数字数组等.Array.from(new Set(arr))即可.但是这种方案针对对象数组并不适用. 那么简易的使用ES6进行对象数组去重呢 ...
- 【ES6】最简单的对象数组去重的方法
对象数组去重的方法 // arr传数组名,attr传属性名 const uniqueArr=(arr,attr)=> {const res = new Map();return arr.filt ...
- JS对象数组去重简单有效方法
I.输入 JS对象数组去重是业务经常遇到的方法,稍微简洁一点的方法,如下: var data = [{"id": 1, "name": "李四1&qu ...
- 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 ...
- js 去重某个键值 数组对象_js数组去重(包括对象数组去重)
2019.08.02补: 对象数组建议直接循环然后使用工具库(lodash)的深比较,评论里也有指出,文章的方法有些取巧了 生产环境不要这么玩~. 方法一:利用ES6的Array.from()/扩展运 ...
- 对象数组去重——数组删除所有含有固定id的对象
一.重要方法 filter() 方法可以创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 1.数组去重 [86,77,77,86] ===> [86,77] /* 去除重 ...
- 每日一天:对象数组去重
function unique(arr){let unique = {};arr.forEach(function(item){unique[JSON.stringify(item)]=item;// ...
最新文章
- bzoj 2946 [Poi2000]公共串——后缀自动机
- 【ACM】家喻户晓的中药店(待更)
- Node.js项目实践:构建可扩展的Web应用
- GDI+ 中发生一般性错误(生成验证码时出现的错误)
- 解决oracle ORA-01078,LRM-00109故障一例!
- UVA 10341 二分搜索
- SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版
- python 赋值方法_基于Python List的赋值方法
- Shiro 实战教程
- Fisher线性判别(*)
- java实现qq空间模块_Java实现模拟QQ空间图片上传
- 瀑布模型,快速原型模型,增量模型,螺旋模型以及敏捷开发模型的相关概念
- .NET BackgroundWorker
- 不用做实验也能发论文——带你看懂元分析
- excel不同文件表格批量加表头vba_用Excel VBA实现多文件夹内文件加入表头 遍历文件...
- win10修改dns服务器命令,Win10怎么更改首选DNS服务器地址?
- vantfieldlabel样式修改_Vant Field 输入框
- Redis 安装说明
- python中quadratic_python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解...
- ●UVA 11021 tunnello
热门文章
- linuxCentOS如何汉化系统
- 影之刃服务器维护,《影之刃3》服务器卡顿问题解决方法
- Android公告栏的几种实现方式与优缺点
- 提交的JDK输入法光标跟随,被要求予以详细说明
- 2.17.内核的移植1-从三星官方内核开始移植
- 【python pdf 文件下载】给定pdf url下载pdf文件
- Java注解Target、Retention、Inherited、Documented的作用简述,以@Transactional注解为例(处女座总结)
- 三年级信息技术连接计算机教案,三年级信息技术计算机教案全册.doc
- linux内核4.9版本,Linux Kernel 4.9.14 LTS和4.4.53 LTS维护版本更新发布
- 《木子办公助手》V1.3.1