集合操作
任何可迭代对象的逻辑集合操作。
difference(iterable, ...others)
源代码 · 返回一个新的 InternSet,包含 iterable 中所有不在任何 others 可迭代对象中的值。
js
d3.difference([0, 1, 2, 0], [1]) // Set {0, 2}
union(...iterables)
源代码 · 返回一个新的 InternSet,包含所有出现在给定 iterables 中的(不同)值。返回的集合中值的顺序基于它们在给定 iterables 中的首次出现。
js
d3.union([0, 2, 1, 0], [1, 3]) // Set {0, 2, 1, 3}
intersection(...iterables)
源代码 · 返回一个新的 InternSet,包含所有出现在给定 iterables 中的(不同)值。返回的集合中值的顺序基于它们在给定 iterables 中的首次出现。
js
d3.intersection([0, 2, 1, 0], [1, 3]) // Set {1}
superset(a, b)
源代码 · 如果 a 是 b 的超集,则返回 true:如果给定可迭代对象 b 中的每个值也出现在给定可迭代对象 a 中。
js
d3.superset([0, 2, 1, 3, 0], [1, 3]) // true
subset(a, b)
源代码 · 如果 a 是 b 的子集,则返回 true:如果给定可迭代对象 a 中的每个值也出现在给定可迭代对象 b 中。
js
d3.subset([1, 3], [0, 2, 1, 3, 0]) // true
disjoint(a, b)
源代码 · 如果 a 和 b 是不相交的,则返回 true:如果 a 和 b 不包含任何共享值。
js
d3.disjoint([1, 3], [2, 4]) // true