Program JavaScript pro ilustraci operací různých sad

V tomto příkladu se naučíte psát program JavaScript, který bude ilustrovat různé operace se sadami.

Abyste pochopili tento příklad, měli byste znát následující programovací témata JavaScriptu:

  • Sada JavaScript a WeakSet
  • JavaScript pro… smyčky
  • Funkce a výrazy funkcí JavaScriptu

Příklad 1: Nastavení operace unie

 // perform union operation // contain elements of both sets function union(a, b) ( let unionSet = new Set(a); for (let i of b) ( unionSet.add(i); ) return unionSet ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('grapes', 'apple', 'banana')); const result = union(setA, setB); console.log(result);

Výstup

 Sada („jablko“, „mango“, „pomeranč“, „hrozny“, „banán“)

Operace sjednocení sady kombinuje prvky obou sad do jedné.

Nová sada unionSetse vytvoří pomocí new Set(). Proměnná unionSet obsahuje všechny hodnoty setA. Potom se for… ofsmyčka používá k iteraci všemi prvky setB a jejich přidání do unionSet pomocí add()metody.

Sada neobsahuje duplicitní hodnoty. Pokud tedy sada obsahuje stejnou hodnotu, druhá hodnota se zahodí.

Příklad 2: Nastavení provozu křižovatky

 // perform intersection operation // elements of set a that are also in set b function intersection(setA, setB) ( let intersectionSet = new Set(); for (let i of setB) ( if (setA.has(i)) ( intersectionSet.add(i); ) ) return intersectionSet; ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('grapes', 'apple', 'banana')); const result = intersection(setA, setB); console.log(result);

Výstup

 Sada („jablko“)

Operace set křižovatky představuje prvky, které jsou přítomny v setA i setB.

Nová sada intersectionSetse vytvoří pomocí new Set(). Poté se for… ofsmyčka použije k iteraci přes setB. Pro každý prvek, který je přítomen v setA i setB, jsou přidány do průnikové sady.

Příklad 3: Nastavit operaci rozdílu

 // perform difference operation // elements of set a that are not in set b function difference(setA, setB) ( let differenceSet = new Set(setA) for (let i of setB) ( differenceSet.delete(i) ) return differenceSet ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('grapes', 'apple', 'banana')); const result = difference(setA, setB); console.log(result);

Výstup

 Sada („mango“, „oranžová“)

Operace rozdílu množin představuje prvky, které jsou přítomny v jedné sadě a ne v jiné sadě.

Rozdíl obsahuje všechny prvky setA. Poté se for… ofsmyčka používá k iteraci všemi prvky setB. Pokud je prvek, který je přítomen v setB, k dispozici také v setA, je tento prvek odstraněn pomocí delete()metody.

Příklad 4: Nastavit provoz podmnožiny

 // perform subset operation // true if all elements of set b is in set a function subset(setA, setB) ( for (let i of setB) ( if (!setA.has(i)) ( return false ) ) return true ) // two sets of fruits const setA = new Set(('apple', 'mango', 'orange')); const setB = new Set(('apple', 'orange')); const result = subset(setA, setB); console.log(result);

Výstup

 skutečný

Operace podmnožiny sady vrátí hodnotu true, pokud jsou všechny prvky setB v setA.

for… ofSmyčka se používá procházet prvky SETB. Pokud je přítomný libovolný prvek setB, není v setA přítomen, falseje vrácen.

Zajímavé články...