Program JavaScript na ilustráciu rôznych operácií množiny

V tomto príklade sa naučíte písať program JavaScript, ktorý bude ilustrovať rôzne operácie s množinami.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:

  • Sada JavaScript a WeakSet
  • JavaScript pre … slučky
  • Funkcia JavaScript a výrazy funkcií

Príklad 1: Nastaviť fungovanie únie

 // 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ýkon

 Súprava („jablko“, „mango“, „pomaranč“, „hrozno“, „banán“)

Operácia spojenia množín kombinuje prvky oboch množín do jednej.

Nová sada unionSetsa vytvorí pomocou new Set(). Premenná unionSet obsahuje všetky hodnoty setA. Potom sa for… ofslučka použije na iteráciu cez všetky prvky setB a pomocou add()metódy ich pridá do unionSet .

Sada neobsahuje duplicitné hodnoty. Ak teda množina obsahuje rovnakú hodnotu, druhá hodnota sa zahodí.

Príklad 2: Nastaviť prevádzku križ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ýkon

 Sada („jablko“)

Operácia križovatky množiny predstavuje prvky, ktoré sú prítomné v množinách setA aj setB.

Nová sada intersectionSetsa vytvorí pomocou new Set(). Potom sa for… ofslučka použije na iteráciu cez setB. Pre každý prvok, ktorý sa nachádza v množinách setA aj setB, sa pridajú do množiny križovatiek.

Príklad 3: Operácia nastavenia rozdielu

 // 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ýkon

 Sada ("mango", "oranžová")

Operácia množinového rozdielu predstavuje prvky, ktoré sú prítomné v jednej množine a nie v inej množine.

Sada rozdielov obsahuje všetky prvky množiny A. Potom sa for… ofslučka použije na iteráciu cez všetky prvky setB. Ak je element, ktorý je v setB, k dispozícii aj v setA, tento element je vymazaný pomocou delete()metódy.

Príklad 4: Nastavenie činnosti 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ýkon

 pravda

Operácia podmnožiny množiny vráti hodnotu true, ak sú všetky prvky množiny setB v množine A.

for… ofSlučka sa používa prechádzať prvkami sejbe. Ak je prítomný akýkoľvek prvok setB, nie je prítomný v setA, falseje vrátený.

Zaujímavé články...