Selles näites õpid kirjutama JavaScripti programmi, mis illustreerib erinevaid komplekti toiminguid.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest JavaScripti programmeerimise teemadest:
- JavaScripti komplekt ja WeakSet
- JavaScripti versioonile Loop
- JavaScripti funktsioonide ja funktsioonide avaldised
Näide 1: määrake liidu toimimine
// 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äljund
Komplekt ("õun", "mango", "apelsin", "viinamarjad", "banaan")
Komplektiühenduse operatsioon ühendab mõlema komplekti elemendid üheks.
Uus komplekt unionSetluuakse kasutades new Set(). Muutuja unionSet sisaldab kõiki komplekti A väärtusi. Seejärel kasutatakse for… oftsüklit kõigi setB elementide itereerimiseks ja add()meetodi abil UnionSeti lisamiseks .
Komplekt ei sisalda duplikaatväärtusi. Seega, kui komplekt sisaldab sama väärtust, jäetakse viimane väärtus kõrvale.
Näide 2: tehke ristmik
// 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äljund
Komplekt ("õun")
Hulga ristumisoperatsioon tähistab elemente, mis esinevad nii setA-s kui ka setB-s.
Uus komplekt intersectionSetluuakse kasutades new Set(). Seejärel kasutatakse for… ofsilmust setB kaudu itereerimiseks. Iga elemendi kohta, mis on olemas nii setA-s kui ka setB-s, lisatakse need ristumiskomplekti.
Näide 3: Erinevuse määramine
// 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äljund
Komplekt ("mango", "oranž")
Hulgadevahelise toiminguga tähistatakse elemente, mis esinevad ühes ja mitte teises komplektis.
Diferentsikomplekt sisaldab kõiki komplektiA elemente. Seejärel kasutatakse for… oftsüklit kõigi setB elementide itereerimiseks. Kui komplektis B olev element on saadaval ka komplektis A, kustutatakse see delete()meetod meetodi abil.
Näide 4: alamhulga toimimise määramine
// 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äljund
tõsi
Hulga alamhulga operatsioon tagastab tõese, kui kõik komplekti B elemendid on komplektis A.
for… ofLoop kasutatakse ahela kaudu elemendid setB. Kui mõni element, mis on olemas, on komplekt B, falsepole komplektis A olemas, tagastatakse.








