「JavaScript 設定」方法現已併入基準

您現在可以使用 JavaScript Set methods 執行組合作業 intersection, union 等等。

瀏覽器支援

  • Chrome:122。
  • Edge:122。
  • Firefox:127。
  • Safari:17。

資料來源

組合是任何程式設計語言中必備的資料結構。現在,您可以 使用 JavaScript 內建方法來執行集合作業。簡化組合 執行下列操作:

intersection()

intersection()敬上 會傳回一組新集合,其中包含此集合與指定集合中的元素。

const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.intersection(squares)); // Set(2) { 1, 9 }

union()

union()敬上 會傳回一組新集合,其中包含此集合和特定集合中的所有元素。

const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.union(squares)); // Set(6) { 2, 4, 6, 8, 1, 9 }

difference()

difference()敬上 會傳回包含這個集合中,但不在指定集合中的元素的新集合。

const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }

symmetricDifference()

symmetricDifference()敬上 會傳回一組新集合,其中包含此集合或 但不能兩者都設定

const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.symmetricDifference(squares)); // Set(5) { 2, 6, 8, 1, 9 }

isSubsetOf()

isSubsetOf()敬上 會傳回布林值,表示這個集合的所有元素是否位於指定集合中。

const fours = new Set([4, 8, 12, 16]);
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
console.log(fours.isSubsetOf(evens)); // true

isSupersetOf()

isSupersetOf()敬上 會傳回布林值,表示指定集合的所有元素是否屬於此集合。

const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
const fours = new Set([4, 8, 12, 16]);
console.log(evens.isSupersetOf(fours)); // true

isDisjointFrom()

isDisjointFrom()敬上 傳回布林值,表示此集合沒有與 偵測到的 Pod

const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const squares = new Set([1, 4, 9, 16]);
console.log(primes.isDisjointFrom(squares)); // true

更新程式碼即可使用內建方法,改善效能並降低 技術債。