שיטות ההגדרה של JavaScript הן עכשיו חלק מ-Baseline

עכשיו אפשר להשתמש ב-JavaScript Set methods לביצוע פעולות מוגדרות כמו intersection, union ועוד.

תמיכה בדפדפן

  • Chrome: 122.
  • קצה: 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() מחזירה ערך בוליאני שמציין אם לקבוצה זו אין רכיבים שמשותפים עם בקבוצה נתונה.

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

עדכון הקוד לשימוש בשיטות המובנות משפר את הביצועים ולהפחית חוב טכני.