1,去除简单类型

//ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如:
let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];let set = new Set(array);console.log(set);// => Set {1, 2, 3, 4, 5}//ES6中Array新增了一个静态方法Array.from,可以把类似数组的对象转换为数组,如通过querySelectAll方法得到HTML DOM Node List,以及ES6中新增的Set和Map等可遍历对象,如: let set = new Set();set.add(1).add(2).add(3);let array = Array.from(set);console.log(array);// => [1, 2, 3]//于是,现在我们可以用一行代码实现数组去重了:let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));console.log(array);// => [1, 2, 3, 4]复制代码

2,去除引用类型

var arr = [{"name": "ZYTX","age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix","gender": "AAAAAA.doc"
}, {"name": "ZYTA","age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix","gender": "BBBBBB.doc"
}, {"name": "ZDTX","age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix","gender": "CCCCCC.doc"
}, {"name": "ZYTX","age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix","gender": "AAAAAA.doc"
}];
var hash = {};
arr = arr.reduce(function(item, next) {hash[next.name] ? '' : hash[next.name] = true && item.push(next);return item
}, [])
console.log(arr);复制代码

转载于:https://juejin.im/post/5b17a2c251882513e9059231

es6数组去重(连重复的对象也可以去掉)相关推荐

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

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

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

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

  3. python数组重复数据去重_JS实现数组去重(重复的元素只保留一个)

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[,,,,,, ...

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

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

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

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

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

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

  7. ES6数组去重 new Set()

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

  8. js、ES6数组去重

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

  9. ES6数组去重的常用方法

    普通数组去重 数据源 const test = ['q', 'w', 'e', 'q', 'u', 'p'] 方法一 [...newSet(test)]; 方法二 Array.from(new Set ...

最新文章

  1. python编写脚本方法_使用Python编写提取日志中的中文的脚本的方法
  2. 闪电网络运行过程中存在的一些问题
  3. python和c哪个好学-c语言和python哪个容易
  4. C++ 关键字 (try-finally) 收藏
  5. P2802 回家(dfs+三维数组标记+剪枝)
  6. 一个脚本实现全量增量备份,并推送到远端备份中心服务器
  7. JadClipse eclipse反编译插件
  8. 达文西画中的数学密码
  9. html(7)盒子模型
  10. 反编译工具Reflector下载(集成两个常用.net插件,FileGenerator和FileDisassembler)
  11. 服务器上的 smb 协议,使用smb协议python3访问服务器上的远程文件
  12. vue 中基于drag drop拖放实现左菜单和右画布的功能
  13. 网易云音乐歌词python
  14. chm转换成txt的url顺序问题
  15. 雷达图使用攻略(上)
  16. 2022年网站快速排名优化 方法是什么?
  17. 得力打印机(DL888D型号)Linux对接——Java+C版
  18. 修改elementUI中面包屑文字颜色
  19. 【08月20日】A股滚动市净率PB历史新低排名
  20. 椭圆曲线密码算术(ECC)原理

热门文章

  1. 图灵机模拟程序功能设计
  2. 嵌入式Linux应用开发 1.系统编程 文件IO:open close write read lseek 通过文件io实现cp命令
  3. LED、LCD背光源、CCFL
  4. 这些大厂笔试题 你都见识(被无情鞭挞)过了吗?—— 哔哩哔哩篇
  5. Hessian矩阵的几何意义
  6. Flutter 从 TextField 安全泄漏问题深入探索文本输入流程
  7. JavaScript内置对象一周知识点总结
  8. 【人工智能项目】- 卷积神经网络实现游客评价情绪鉴别
  9. 自己动手,编写神经网络程序,解决Mnist问题,并网络化部署-6CBIR模拟问题
  10. R语言中类别为‘closure‘的对象不可以取子集(Error:object of type ‘closure‘ is not subsettable)