ES6数组去重的最佳实践:Set结合Array.from() | 拓展运算符结合 Set
2016-08-31 21:34
621 查看
前言
ES5及之前大多都是用遍历和算法来实现数组去重,在ES6有一个更为简便的方式。ES6之Set,Array.from, ...
实践
1. Set + Array.from()
这里使用的是Set的一个特性,集合中不会包含重复项。结合Array.from()实现数组去重 ,看图从图中看出,经过转化的数组是可以正常数组操作的。那么多赋值可以精简为两条代码或走一条;
var set1 = Array.from(new Set([1,1,2,2,33,'33',44,'44' ])) //Array.from是个好东东,抽空再写详细点的文章 //可以把类数组对象(array-like obj)和可迭代对象(iterable objects -- eg:Map or Set)转为常规数组。。。
2. …[拓展运算符] + Set
/** * ...拓展运算符,是遍历Symbol.iterator * 和for...of一样的遍历方法 */ var tt = [...new Set([5,5,6,6,8,])] // 5,6,8
总结
一直想写个ES6特性的系列文章,整理了一段时间,不想写概而全的纯理论,只想写一些贴近工作的, 最常用到的,比如块级作用域,箭头函数,字符串模板等等---敬请期待 上面那两个方法并不是万能的,只能作为常规的数组去重,因为涉及到对象或者多维数组的去重, 还是需要其他一些方法来辅助,该遍历遍历,该比较还是得比较。。。。
相关文章推荐
- ES6数组去重的最佳实践:Set结合Array.from() | 拓展运算符结合 Set
- es6 数组对象新增方法 Array.from()将两类对象转为真正的数组
- ES6---for...of遍历‘类似’数组的数据结构,array set map string与iterator
- ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
- ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
- ES6里新添加了两个很好用的东西,set和Array.from。
- 删除有序数组中的重复元素 Remove Duplicates from Sorted Array
- PHP数组合并:[“+”运算符]、[array_merge]、[array_merge_recursive]区别
- Remove duplicates from Array移除数组重复元素
- 《Visual C# 最佳实践》第一章 程序设计 (四):运算符
- leetcode:Remove Duplicates from Sorted Array(去掉数组重复数字,常数空间限制)【面试算法题】
- @shell脚本中数组array常用技巧学习实践@
- eclipse 与 jetty 结合的最佳实践
- 结合丰富示例深入讲解Ajax架构和最佳实践——《深入Ajax:架构与最佳实践》
- shell脚本中数组array常用技巧学习实践
- javascript删除数组中的某个元素-----拓展Array 原型方法
- java中 set,list,array(集合与数组)相互转换
- 常见的数组之间的转换。List Set Array!
- 可伸缩性最佳实践:来自eBay的经验 (from InfoQ)
- 《Visual C# 最佳实践》第一章 程序设计 (四):运算符