此只读属性是Set中元素的数量
获取可用于迭代Set的对象,该值将是Set的成员。典型用法:
var it = aSet.iterator;
while (it.next()) {
. . . " value: " + it.value . . .
}
此只读属性是Set中元素的数量
将给定值添加到Set(如果尚不存在)
迭代集合时,请注意不要调用此方法
要添加到Set中的值,不能为null
修改后的Set
如果对集合中所有的项调用给定函数都为true,则为true
在集合中的每个项目上调用给定函数,一旦返回false时,将立即返回false,否则返回true。对于空集合它返回true
此函数不得有任何副作用
如果所有函数调用为true,则为true,否则为false
如果对任意集合的项目调用给定函数为true,则为true
在集合中的每个项目上调用给定函数,一次调用返回true,则返回true,否则返回false。对于空集合,它返回false
此函数不得有任何副作用
如果任何函数调用为true,则为true,否则为false
清除Set。 这会将 count 设置为0
迭代集合时,请注意不要调用此方法
返回给定值是否在此Set中
要检查的值
该值是否包含在Set中
如果给定集合的所有值都在此Set中,则返回true
要检查的项目集合
如果给定集合的任何值在此Set中,则返回true
要检查的项目集合
对此Set进行浅拷贝。这些值不会被复制,因此,如果它们是对象,则可以继续与原始Set共享
具有相同元素的新Set
从Set中删除一个值(如果找到)
迭代集合时,请注意不要调用此方法
要插入的值
如果找到并删除该值,则为true,否则为false
在集合中的每个项目上调用给定函数
此函数不得修改集合
Set自身
返回集合中的第一项,如果没有,则返回null
如果集合中没有任何项目,则返回null
返回给定值是否在此Set中
要检查的值
该值是否包含在Set中
从集合中删除一个值(如果找到)
迭代集合时,请注意不要调用此方法
要删除的值
如果找到并删除该值,则为true,否则为false
从此Set的内容中产生一个JavaScript数组
数组形式的Set的副本
注意: 在2.0版本中 constructor 参数发生了变化。Set现在可以选择接受一个集合,并且只检查TypeScript中的类型。
一个无序的可迭代集合,不能包含两个具有相同值的实例。 在TypeScript中,它是一个通用类,在编译时强制执行可能添加到Set中的元素类型
用法示例:
var set = new go.Set(); // In TypeScript: new go.Set<string>(); set.add("orange"); set.add("apple"); set.add("orange"); // now set.count === 2 // and set.contains("orange") === true // and set.contains("banana") === false
你可以遍历Set中的项目:
var it = aSet.iterator; while (it.next()) { . . . it.value . . . }
或者:
aSet.each(function(val) { . . . val . . . });
尽管无法精确实现EcmaScript 6 Set 类的功能, 此GoJS Set 类具有以下方法和属性的同义词:
现在,构造函数接受一个可选的 Iterable 或 Array 参数,该参数为新Set提供了初始元素
请注意,GoJS迭代与ES6迭代完全不同,因此尚未使功能具有某种程度的兼容性。这些集合类是在ES6集合类被提出之前在GoJS中定义的。