Dalam contoh ini, anda akan belajar menulis program JavaScript yang akan menggambarkan operasi set yang berbeza.
Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan JavaScript berikut:
- Set JavaScript dan WeakSet
- JavaScript untuk… of Loop
- Ekspresi Fungsi dan Fungsi JavaScript
Contoh 1: Tetapkan Operasi 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);
Pengeluaran
Set ("epal", "mangga", "oren", "anggur", "pisang")
Operasi penyatuan set menggabungkan elemen kedua-dua set menjadi satu.
Satu set baru unionSet
dibuat menggunakan new Set()
. Pemboleh ubah unionSet mengandungi semua nilai setA. Kemudian, for… of
gelung digunakan untuk melakukan iterasi melalui semua elemen setB dan menambahkannya ke unionSet menggunakan add()
kaedah.
Set tidak mengandungi nilai pendua. Oleh itu, jika set mengandungi nilai yang sama, nilai yang terakhir akan dibuang.
Contoh 2: Tetapkan Operasi Persimpangan
// 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);
Pengeluaran
Set ("epal")
Operasi persimpangan set mewakili elemen yang terdapat di setA dan setB.
Satu set baru intersectionSet
dibuat menggunakan new Set()
. Kemudian, for… of
gelung digunakan untuk melakukan lelaran melalui setB. Untuk setiap elemen yang terdapat di setA dan setB, elemen tersebut ditambahkan ke set persimpangan.
Contoh 3: Tetapkan Operasi Perbezaan
// 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);
Pengeluaran
Set ("mangga", "oren")
Operasi perbezaan set mewakili elemen yang terdapat dalam satu set dan bukan pada set yang lain.
The perbezaanSet mengandungi semua elemen setA. Kemudian, for… of
gelung digunakan untuk melancarkan semua elemen setB. Sekiranya elemen yang ada di setB juga tersedia di setA, elemen itu dihapus dengan menggunakan delete()
kaedah.
Contoh 4: Tetapkan Operasi Subset
// 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);
Pengeluaran
benar
Operasi set set kembali benar jika semua elemen setB berada dalam setA.
The for… of
gelung digunakan untuk gelung melalui unsur-unsur setB. Sekiranya ada unsur yang ada adalah setB tidak ada di setA, false
dikembalikan.