Σε αυτό το παράδειγμα, θα μάθετε να γράφετε ένα πρόγραμμα JavaScript που θα απεικονίζει διαφορετικές λειτουργίες σετ.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες ενότητες προγραμματισμού JavaScript:
- Σετ JavaScript και WeakSet
- JavaScript για… του Loop
- JavaScript Function and Function Expressions
Παράδειγμα 1: Ορισμός λειτουργίας Union
// 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);
Παραγωγή
Σετ ("μήλο", "μάνγκο", "πορτοκάλι", "σταφύλια", "μπανάνα")
Η λειτουργία συνένωσης συνενώνει στοιχεία και των δύο συνόλων σε ένα.
Δημιουργείται ένα νέο σετ unionSet
χρησιμοποιώντας new Set()
. Η μεταβλητή UnionSet περιέχει όλες τις τιμές του setA. Στη συνέχεια, ο for… of
βρόχος χρησιμοποιείται για να επαναλάβει όλα τα στοιχεία του setB και να τα προσθέσει στο UnionSet χρησιμοποιώντας τη add()
μέθοδο.
Το σετ δεν περιέχει διπλές τιμές. Επομένως, εάν το σύνολο περιέχει την ίδια τιμή, η τελευταία τιμή απορρίπτεται.
Παράδειγμα 2: Ορισμός λειτουργίας διατομής
// 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);
Παραγωγή
Σετ ("μήλο")
Η λειτουργία καθορισμένης διασταύρωσης αντιπροσωπεύει στοιχεία που υπάρχουν τόσο στο setA όσο και στο setB.
Δημιουργείται ένα νέο σετ intersectionSet
χρησιμοποιώντας new Set()
. Στη συνέχεια, ο for… of
βρόχος χρησιμοποιείται για την επανάληψη μέσω του setB. Για κάθε στοιχείο που υπάρχει τόσο στο setA όσο και στο setB, προστίθενται στο σύνολο διασταύρωσης.
Παράδειγμα 3: Ορισμός λειτουργίας διαφοράς
// 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);
Παραγωγή
Σετ ("μάνγκο", "πορτοκάλι")
Η λειτουργία διαφοράς σετ αντιπροσωπεύει στοιχεία που υπάρχουν σε ένα σετ και όχι σε άλλο σετ.
Το differenceSet περιέχει όλα τα στοιχεία του setA. Στη συνέχεια, ο for… of
βρόχος χρησιμοποιείται για την επανάληψη όλων των στοιχείων του setB. Εάν το στοιχείο που υπάρχει στο setB είναι επίσης διαθέσιμο στο setA, αυτό το στοιχείο διαγράφεται χρησιμοποιώντας τη delete()
μέθοδο.
Παράδειγμα 4: Ορισμός λειτουργίας υποσυνόλου
// 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);
Παραγωγή
αληθής
Η λειτουργία του υποσυνόλου επιστρέφει αληθής εάν όλα τα στοιχεία του setB βρίσκονται στο setA
Ο for… of
βρόχος χρησιμοποιείται για βρόχο μεταξύ των στοιχείων του setB. Εάν οποιοδήποτε στοιχείο υπάρχει είναι setB δεν υπάρχει στο setA, false
επιστρέφεται.