在ecmascript6集/weakset详解

在ecmascript6集/weakset详解
6添加到一个新的数据解构,喜欢java的集合,它不包含重复的元素。设定的实施是一个类,它需要新的第一。
var =新集()
(1)s1.add
(2)s1.add
(3)s1.add
(1)s1.add

var =新集()
s2.add(A)
s2.add(A)

输出1, 2, 3
对于(S1中的var i){
console.log(我)
}
输出
对于(var I){
console.log(我)
}
它使用集合的Add方法添加元素,但不保存它。

集合构造函数也可以接受数组作为参数。
VaR S3 =新({ 1,2,3,1 })
s3.size / / 3
你可以看到重复的数字1仍然没有被放入,并且集合的长度是大小,不是长度。

需要注意的是,对于{或},它们是两个不同的对象。
新集合()
s4.add({ })
s4.add({ })
s4.size / / 2

1。遍历集(对于)
var =新集()
(1)s1.add
(2)s1.add
(3)s1.add

输出1, 2, 3
对于(S1中的var i){
console.log(我)
}

两。将集合转换为数组
var =新集()
(1)s1.add
(2)s1.add

/ / toArray
VaR A1 = array.from(S1)
Array.isArray(A1) / /真的


var = {…新集(S1)}

三。使用set来度量数组
功能不同(ARR){
返回array.from(新(ARR))
/ /返回新(ARR){…}
}
作为
集的属性

构造函数

大小

集合法

是否有元素存在

添加元素添加元素

删除元素

明确的删除所有元素

钥匙

价值观

条目

foreach遍历元素

地图

滤波器

四、WeakSet

WeakSet,像集,不存储重复的元素,但也有一些差异

1。存储对象类型元素
WS =新weakset()
Ws.add(1)
在错误的跟踪下
2。只添加三个方法,而不是遍历、没有大小属性,等等。
WS =新weakset()
ws.size / /未定义
ws.foreach / /未定义
MDN的解释

存储在weakset对象值的对象的弱引用,如果没有其他的引用对象的变量或属性的值,目标值会被视为垃圾。正因为如此,weakset无法枚举的对象,有没有办法让它所包含的元素

weakset主要是用来存储节点,不会导致内存泄漏时,这些节点被删除的文件。

以上是本文的全部内容,希望大家能喜欢。

tag:详解电脑软件WeakSet

相关内容