首页 > 编程语言 > 详细

【20190304】JavaScript-知识点总结:Set,异或

时间:2019-03-04 10:54:55      阅读:151      评论:0      收藏:0      [点我收藏+]

ES6新特性:Set

ES6提供了新的数据结构SetSet对象不是数组, 可以用来保存对象或者基本类型, 所有保存的值都是唯一的, chrome浏览器>38和FF>13,以及nodeJS,对Set支持良好。

创建方法:

1 let set1 = new Set(); //或者 new Set(null);
2 let set2 = new Set([1,2,3,4,4,4,4,4]);
3 
4 console.log( Array.from(set) ); //输出:[ 1, 2, 3, 4 ]

可以看到,以上重复的4,在set里面只保存了一个, 所以Set对象可以用来给数组去重;

Set也能用来保存NaN和undefined, 如果有重复的NaN, Set会认为就一个NaN(实际上NaN!=NaN);

Set属性:

Set.prototype

Set.prototype.size

Set方法:

Set.prototype.add()

Set.prototype.clear()

Set.prototype.delete()

Set.prototype.entries()

Set.prototype.forEach()

Set.prototype.has()

Set.prototype.values()                                                                                                                                                                                               

Set.prototype[@@iterator]()

Set的实际用处:   

利用set可以方便的进行交集和并集

 

弱引用的WebSet

WeakSet对象是一些对象值的集合, 并且其中的每个对象值都只能出现一次,WeakSet只能存对象类型的元素,比如:Object, Array, Function 等等;有了弱引用的WeakSet, 就不用担心内存泄漏了,如果别的对象不引用该对象, 这个对象会被垃圾回收机制自动回收。

WeakSet对象的方法只有三个,而且WeakSet对象没有size属性;

weakSet.add();

weakSet.delete();

weakSet.has();

 

参考:https://www.cnblogs.com/diligenceday/p/5479076.html

【20190304】JavaScript-知识点总结:Set,异或

原文:https://www.cnblogs.com/huangrui-dori/p/10469217.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!