ES6里新添加了两个很好用的东西,set和Array.from。
2017-10-10 16:07
162 查看
set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目。
在这我们可以看见,重复的项目已经被去掉了,包括NaN。正常情况下,NaN === NaN 返回的是false,但是在set里,一样能够帮你去重,厉害了。
但是这里大家可以看到,set返回的是一个对象,但是我们想要的是数组啊。
这回,就该轮到Array.from出场了,它的作用,就是可以把类数组对象、可迭代对象转化为数组。
这回我们再看,已经变成数组了。
这样一来,就用上面的一段代码就可以实现数组去重了,是不是比原来的又是循环又是判断省事多了。
呵呵,先别高兴,老话说的好,越是好东西,就越会有兼容性问题。在这里,也不例外。
我经过测试,目前主流的浏览器,Chrome,Firfox,Opera,Safari,包括微软的Edge,都是支持的,唯独IE系列不支持。
所以,慎用 :) 。
在这我们可以看见,重复的项目已经被去掉了,包括NaN。正常情况下,NaN === NaN 返回的是false,但是在set里,一样能够帮你去重,厉害了。
但是这里大家可以看到,set返回的是一个对象,但是我们想要的是数组啊。
这回,就该轮到Array.from出场了,它的作用,就是可以把类数组对象、可迭代对象转化为数组。
这回我们再看,已经变成数组了。
这样一来,就用上面的一段代码就可以实现数组去重了,是不是比原来的又是循环又是判断省事多了。
呵呵,先别高兴,老话说的好,越是好东西,就越会有兼容性问题。在这里,也不例外。
我经过测试,目前主流的浏览器,Chrome,Firfox,Opera,Safari,包括微软的Edge,都是支持的,唯独IE系列不支持。
所以,慎用 :) 。
相关文章推荐
- ES6数组去重的最佳实践:Set结合Array.from() | 拓展运算符结合 Set
- ES6数组去重的最佳实践:Set结合Array.from() | 拓展运算符结合 Set
- 重写javascript的Array.prototype.push方法实现类似java.util.set添加不重复元素
- ES6 Array.from方法用法总结
- 一起看代码来玩玩QT之18 database(four 向QtableView 添加代理view->setItemDelegate ,让代理作一些东西)
- 1.2.26 Set.toArray方法——用Set集合中的所有对象创建一个数组(很好)
- 关于C++ STL key_comp value_comp的问题 能否介绍下这两个东西?以set为例子好了,谢谢
- iOS --- 为UIButton添加setBackgroundColor:forState:方法(包含OC和Swift两个版本)
- leetcode_26题——Remove Duplicates from Sorted Array (两个指针)
- [ES6] Converting an array-like object into an Array with Array.from()
- es6笔记·····Array.from()
- es6 Array Map Set 性能测试
- 为mutable类型的容器(array,set等)添加kvo,有点麻烦,供参考和了解下吧
- ES6,Array.from()函数的用法
- 为mutable类型的容器(array,set等)添加kvo,有点麻烦,供参考和了解下吧
- 物体的属性中可以添加东西。并且可以用这个访问。这个很好。
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起(写的很好,这个不是从启动app说的,说的是UI是怎么绘制的)
- leetcode_80题——Remove Duplicates from Sorted Array II(两个指针)
- ES6的数组扩展( Array.from()方法 )
- [ios]addObjectsFromArray 将不将他们添加为新的对象