Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. ES6
Code

Memahami set dengan JavaScript

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Kang Abbad (you can also view the original English article)

Set bisa sangat kuat jika Anda memahami bagaimana menggunakan mereka. Beberapa aplikasi set termasuk pemecahan masalah menghitung dimana Anda mungkin ingin untuk menemukan cara-cara yang Anda dapat mengelompokkan elemen bersama-sama.

Aplikasi lain adalah masalah yang mengharuskan Anda untuk menemukan hubungan antara unsur-unsur. ECMAScript spesifikasi tidak termasuk metode untuk beroperasi di set dengan cara ini. Tetapi mungkin untuk membuat Anda sendiri.

Berikut ini adalah ikhtisar dari teori set dengan aplikasi praktis yang dapat Anda gunakan untuk Perluas kemampuan JavaScript dan memecahkan masalah yang lebih kompleks.

Isi

  • Dasar-dasar
  • Union
  • Persimpangan
  • Perbedaan
  • Perbedaan simetris
  • Pelengkap
  • Tinjauan

Dasar-dasar

Satu set adalah koleksi unordered elemen yang semua unik. Misalnya, daftar semua karyawan di tempat kerja Anda adalah satu set. Setiap karyawan akan menjadi elemen di set. Pada kenyataannya, elemen-elemen ini akan disimpan menggunakan ID atau nomor jaminan sosial karena ini adalah nilai-nilai yang kami dapat memastikan bahwa akan menjadi unik. Perhatikan bagaimana urutan elemen-elemen ini tidak relevan bagi kita karena penyortiran id atau nomor jaminan sosial tidak ada artinya.

Kita memanggil kita set karyawan universal set karena mengandung semua unsur di bawah pertimbangan. Mari kita bayangkan satu set. Ini adalah daftar karyawan di perusahaan Anda yang bekerja di departemen teknik. Ini adalah subset dari karyawan kami menetapkan karena setiap elemen di set teknik juga ada di set karyawan. Subkumpulan lain adalah karyawan yang lepas kontraktor. Berikut adalah bagaimana kita akan menciptakan set ini dalam JavaScript:

Jika Anda ingin menambahkan orang lain ke salah satu set kami, kami akan menggunakan sintaks set.add(value) dan mengganti set dengan nama kami set dan nilai dengan nilai dari elemen yang ditambahkan. Jika kita mencoba untuk menambahkan elemen yang sudah di set, itu tidak bisa ditambahkan. Contoh:

Ini akan mencetak Set {'Alberta', 'Dr Gero', 'Batang', 'Bulma', 'Gohan'}.

Tepat sekarang, Anda mungkin berpikir jadi apa? Apa yang dapat saya lakukan dengan informasi ini? Selanjutnya kita akan melihat bagaimana kita dapat beroperasi pada set untuk membantu kami memecahkan beberapa masalah umum.

Union

Bagaimana jika kita ingin mencari semua karyawan di perusahaan kami yang freelancer atau yang bekerja di departemen teknik? Kita perlu untuk menggabungkan dua set, dan kemudian menghapus setiap nama yang sama. Ini disebut Uni.

Uni dari dua set adalah kumpulan yang berisi unsur-unsur dari set atau kedua set. Perhatikan bagaimana elemen dalam set teknik kami juga di set freelancer. Berikut adalah salah satu cara Anda dapat menemukan persatuan kedua set:

... Operator berubah set kami ke dalam sebuah array, dan setelah menggabungkan dua array, konstruktor Set menghilangkan unsur-unsur duplikat. Uni dari dua set akan diatur {'Alberta', 'Dr Gero', 'Batang', 'Bulma', 'Gohan', 'Piccolo', 'Vegeta', 'Goku'}.

Tugas

Apa yang dimaksud dengan penyatuan set [1, 3, 5, 7, 9] dan [2, 3, 4, 6]?

Persimpangan

Misalkan kita ingin mencari semua karyawan yang berada di departemen teknik dan freelancer. Ini adalah persimpangan dari set. Persimpangan dua set adalah set yang mengandung unsur di set kedua.

Untuk mereproduksi ini, kita dapat mencari melalui satu set dan memeriksa apakah setiap elemen di set lain. Untuk memeriksa apakah sebuah elemen dalam satu set, kami menggunakan memiliki metode. Contoh:

Ini akan kembali benar. Menggunakan memiliki metode, kita dapat menyaring teknik kami ditetapkan untuk item yang juga di freelancer ditetapkan.

Terletak di persimpangan teknik dan freelancer {'Batang', 'Gohan'}.

Tugas

Apa yang dimaksud dengan persimpangan set [1, 3, 5, 7, 9] dan [2, 3, 4, 6]?

Perbedaan

Mari kita mempertimbangkan skenario di mana kita ingin mencari insinyur yang tidak freelancer. Ini adalah perbedaan. Perbedaan dari dua set adalah kumpulan yang mengandung unsur-unsur yang di set pertama, tapi tidak di set kedua.

Bagi kami, itu berarti kita akan mulai dengan set teknik kami, dan kemudian menghapus setiap elemen yang juga di freelancer ditetapkan. Contoh:

Perbedaan set teknik dan set freelancer terletak {'Alberta', 'Dr Gero', 'Bulma'}. Jika kita ingin mendapatkan daftar orang-orang yang freelancer dan tidak insinyur, kita mulai dengan set freelancer dan menghapus elemen-elemen yang muncul di set insinyur. Contoh:

Ini memberikan hasil yang berbeda. Perbedaan set freelancer dan set teknik terletak {'Piccolo', 'Vegeta', 'Goku'}.

Tugas

Menemukan perbedaan [1, 3, 5, 7, 9] dan [2, 3, 4, 6].

Menemukan perbedaan [2, 3, 4, 6] dan [1, 3, 5, 7, 9].

Perbedaan simetris

Sekarang, kami ingin menemukan siapa di perusahaan yang baik seorang insinyur atau freelancer, tetapi tidak keduanya. Ini adalah perbedaan simetris. Perbedaan simetris dari dua set adalah kumpulan yang mengandung unsur-unsur dari set, tetapi tidak kedua set.

Salah satu pendekatan yang bisa kita gunakan adalah untuk menemukan persatuan dua set (setiap orang yang adalah seorang insinyur, freelancer, atau keduanya) dan mengurangi persimpangan (semua orang yang adalah seorang insinyur dan freelancer). Menggabungkan teknik yang kita digunakan sebelumnya, kita bisa mendapatkan perbedaan simetris dengan kode berikut:

Perbedaan simetris set teknik kami dan mengatur freelancer kita diatur {'Alberta', 'Dr Gero', 'Bulma', 'Piccolo', 'Vegeta', 'Goku'}.

Tugas

Menemukan perbedaan simetris [1, 3, 5, 7, 9] dan [2, 3, 4, 6].

Pelengkap

Jika kita memiliki kita set karyawan dan satu set insinyur, bagaimana kita bisa menemukan set dari semua orang yang tidak insinyur? Satu hal yang bisa kami lakukan adalah mengurangi para insinyur dari himpunan karyawan. Set ini adalah pelengkap kepada teknisi kami menetapkan dalam kaitannya dengan set karyawan kami. Contoh:

Pelengkap dengan rekayasa yang ditetapkan dalam kaitannya dengan set karyawan kami terletak {'Goku', 'Piccolo', 'Vegeta'}.

Tugas

Mengingat universal set [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], menemukan pelengkap untuk mengatur [2, 4, 6, 8, 10].

Tinjauan

Set datang berguna ketika Anda perlu membandingkan daftar yang berbeda, menggabungkan daftar, atau menemukan unsur-unsur yang unik dalam daftar. Waktu berikutnya Anda memiliki masalah di mana Anda perlu untuk menganalisis data dengan cara ini, pertimbangkan menggunakan salah satu operasi set yang disebutkan di atas. Berikut adalah daftar kata-kata kunci yang dibahas:

  • Set: Koleksi unik, unordered elemen.
  • Universal set: semua elemen mungkin satu set.
  • Subset: Satu set lebih kecil dalam satu set.
  • Union set A dan B: set yang berisi unsur-unsur dalam A, B, atau keduanya.
  • Persimpangan set A dan B: set yang mengandung unsur-unsur dari keduanya A dan B.
  • Perbedaan set A dan B: set mengandung unsur a tetapi tidak di B.
  • Simetris perbedaan set A dan B: set mengandung unsur dalam A atau B, tetapi tidak keduanya.
  • Pelengkap set A: unsur-unsur di set universal yang tidak A.

Seperti biasa, ingat jika Anda sedang mencari sumber daya tambahan untuk belajar atau untuk digunakan dalam pekerjaan Anda, memeriksa apa yang kita miliki tersedia di pasar Envato.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.