JavaScript 中的新 Set 方法

在 JavaScript 中,Sets 非常有用,它们类似于数组,但只能包含一个特定的项目。因此,你可以轻松地使数组中的元素唯一化,甚至可以随意向其中添加内容,而不必担心重复:

1
2
3
4
5
const people = ["chris", "chris", "cindy"];
const peopleSet = new Set(people);
peopleSet.add("chris");
console.log(peopleSet);
// {"chris", "cindy"}

现在,Sets 变得更加有用,

  • intersection() 返回一个新集合,其中包含该集合和给定集合中的公共元素。
  • union() 返回一个新集合,其中包含该集合和给定集合中的所有元素。
  • difference() 返回一个新集合,其中包含该集合中有但给定集合中没有的元素。
  • symmetricDifference() 返回一个新集合,其中包含两个集合中存在但不在双方共同存在的元素。
  • isSubsetOf() 返回一个布尔值,表示该集合的所有元素是否都在特定集合中。
  • isSupersetOf() 返回一个布尔值,表示该集合是否包含特定集合中的所有元素。
  • isDisjointFrom() 返回一个布尔值,表示该集合与特定集合之间是否没有公共元素。