普通数组去重

数据源

const test = ['q', 'w', 'e', 'q', 'u', 'p']

方法一

[...newSet(test)];

方法二

Array.from(new Set(test))

方法三

function unique(arr) {const res = new Map();return arr.filter((a) => !res.has(a) && res.set(a, 1))
}

数组中对象去重

数据源

 let person = [{id: 0, name: "小明"},{id: 1, name: "小张"},{id: 2, name: "小李"},{id: 3, name: "小孙"},{id: 1, name: "小周"},{id: 2, name: "小陈"},
];

方法一

let obj = {};
let peon = person.reduce((cur,next) => {obj[next.id] ? "" : obj[next.id] = true && cur.push(next);return cur;
},[]) //设置cur默认类型为数组,并且初始值为空的数组
console.log(peon);

reduce()方法接收一个回调函数作为第一个参数,回调函数又接受四个参数,分别是:

*1.previousValue => 初始值或上一次回调函数叠加的值;

*2. currentValue => 本次回调(循环)将要执行的值;

*3. index =>“currentValue”的索引值;

*4. arr => 数组本身;

方法二

const uniqueFun = (arr,type) => {const res = new Map();return arr.filter((a)=>!res.has(a[type])&& res.set(a[type],1));
}
console.log(uniqueFun(arr,"id"));

ES6数组去重的常用方法相关推荐

  1. ES6数组去重的三个简单办法

    ES6数组去重的三个简单办法 简单说一下利用ES6实现数组去重的三个办法. 第一种: 利用Map对象和数组的filter方法 贴上相关代码 打印后的结果 通过打印我们发现,确实实现了我们想要的效果.那 ...

  2. javascript/ES6实现数组去重的常用方法

    1.利用双层for循环 let arr = [1,2,3,4,4,'hello',4,5,5,6,8,9,'hello'] let unique = (arr) => {// 前面一项for(i ...

  3. es6 数组去重_《前端算法系列》数组去重

    虽然算法在前端开发中很少会得以使用,但是了解常用的算法,熟悉各种算法的性能和优劣,将会让你在前端的道路上走的更远. 前言 文中所有代码位于位于此代码仓库中,大家可以下载代码进行学习.推敲和改进.另,如 ...

  4. es6数组去重(连重复的对象也可以去掉)

    1,去除简单类型 //ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, ...

  5. ES6数组去重(一行代码实现数组去重)

    1.ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3] ...

  6. js、ES6数组去重

    数组去重的方式 提示:reduce,Array.from(new Set(array)),扩展运算符 -,map方法等 reduce去重 // 数组对象去重 let obj = {}; let arr ...

  7. 数组去重,ES6数组去重 new Set()

    普通数组去重 var b = [...new Set([1,2, 3, 4, 5, 5, 5, 5])]console.log(b); 输出结果: 包含对象的数组去重 var o ={a:1}var ...

  8. es6 数组去重,数组里面的对象去重

    // 数组去重 {const arr = [1,2,3,4,1,23,5,2,3,5,6,7,8,undefined,null,null,undefined,true,false,true,'中文', ...

  9. ES6数组去重 new Set()

    普通数组去重 var b = [...new Set([1,2, 3, 4, 5, 5, 5, 5])]console.log(b); 包含对象的数组去重 var o ={a:1}var b = [. ...

最新文章

  1. Windows Server 2012 从入门到精通系列之如何提高DC持续性?
  2. angular5绑定html,在Angular模板绑定中剥离html
  3. opencv 检测 键盘_ubuntu+vscode 测试运行opencv
  4. 2d游戏引擎_游戏60秒:RTS游戏从2D到3D的蜕变
  5. oracle数据泵索引创建慢,IMPDP 很慢的原因探究
  6. 承载物联之城 阿里云为无锡建设统一物联网基础平台
  7. java 汉字 char_char 类型如何存储一个汉字的?
  8. 汽车制造行业OEM Tier1 Tier2指代什么?
  9. 软件发明专利实例_软件系统专利申请案例
  10. c语言自评报告怎么写,大学生学生自评报告怎么写
  11. 楠哥Java SE总结详细笔记
  12. win10彻底禁用自动更新,win10怎样彻底关闭自动更新,永久关闭win10自动更新,win10更新助手...
  13. 离散数学对学计算机有什么用?
  14. 算法题:SOJ1092: 欧几里得算法
  15. 将列表(含字典)数据写入Excel
  16. git 和 phabricator arc 常用 命令解析
  17. css html 鼠标手型,鼠标形状,鼠标效果,样式
  18. 天大2021年秋学期考试《基础会计》离线作业考核试题
  19. 如何获取UnrealEngine虚幻引擎的WebUI插件
  20. flex布局的对齐方式

热门文章

  1. Spring中的 @Lazy注解
  2. 从幻想走向科学:人类操纵大脑的条条大路
  3. python 模块安装
  4. 五分钟的技巧让你避免糟糕的设计
  5. 0Cr17Ni4Cu4Nb(17-4PH)钢锻造工艺
  6. 高级算法梳理-XGB
  7. Redis核心技术与实战-学习笔记(三十五)Redis使用建议
  8. 多旋翼无人机APM(PIX)飞控ardupilot missionplanner扩展调参、基本调参(PID调参)
  9. SQL 截取时间格式
  10. springboot集成shiro RememberMe 报错 RememberMe services will not be performed for account