Hai teman-teman 👋
Kali ini saya akan membuat fungsi untuk mendapatkan selisih antara 2 himpunan dengan menggunakan bahasa pemrograman javascript. Fungsi ini menerima 2 inputan variabel yang merupakan objek dari kelas Set dan akan menghasilkan selisih dari 2 objek tersebut. Berikut kode pemrogramannya:
function getDifference(a, b) {
const arrayA = Array.from(a);
const difference = arrayA.filter(member => !b.has(member));
return new Set(difference);
}
Pada fungsi di atas saya melakukan konversi variabel a menjadi array. Lalu, saya menyeleksi anggota variabel a yang tidak menjadi anggota variabel b menggunakan method filter dan menyimpan hasilnya ke dalam variabel difference. Langkah terakhir, saya mengembalikan variabel difference yang telah dikonversi menjadi Set supaya tidak ada duplikasi data.
Contoh penggunaan:
let a = new Set([1,2,5,6,7,9]);
let b = new Set([2,3,4,5,7,8]);
console.log(getDifference(a, b));
console.log(getDifference(b, a));
Output dari kode di atas adalah
Set(3) { 1, 6, 9 }
Set(3) { 3, 4, 8 }
Fungsi di atas juga bisa digunakan untuk mengetahui komplemen sebuah himpunan dari semesta tertentu. Misal S = {1,2,3,4,5,6,7,8,9} maka fungsi di atas bisa digunakan seperti contoh berikut:
let s = new Set([0,1,2,3,4,5,6,7,8,9]); // Semesta
let a = new Set([1,2,5,6,7,9]);
console.log(getDifference(s, a));
Output dari kode di atas adalah
Set(4) { 0, 3, 4, 8 }
Demikian yang dapat saya bagikan, apabila ada yang perlu dikoreksi silahkan share di kolom komentar. 😁
Top comments (0)