Selamat datang kembali.
Mari kita bicara tentang filter.
Sekarang, berdasarkan namanya, Anda harus menebak apa fungsinya, ini menyaring berbagai hal untuk kami.
Jadi dengan peta, kita selalu mendapatkan jumlah item yang sama, kan?
Kami memiliki tiga item dan kami mendapatkan kembali tiga item.
Kami baru saja memetakan setiap item dengan filter.
Terkadang kita bisa menerima kurang dari apa yang kita berikan.
Kami memfilter beberapa hasil kami.
Jadi mari kita buat fungsi baru daripada mengalikan dengan dua.
Saya ingin membuat fungsi.
Dalam fungsi ini, apa yang akan kita lakukan pada item, katakanlah, jika item dicentang jika ganjil?
Jadi kita akan mengatakan, hei, apakah angka-angka ini ganjil dan hanya mengembalikan angka ganjil.
Jadi periksa apa yang akan menerima item.
Dan item ini akan ditindaklanjuti, dan sekali lagi, kita harus mengembalikan sesuatu, apa yang
akan kita kembalikan?
Nah, fungsi filter itu akan mencoba dan menerima nilai true dan false atau nilai Bolian, apakah
harus disaring atau tidak.
Jadi jika kita ingin memeriksa apakah ada angka yang aktif, kita bisa mengatakan item modulo two karena modulo two akan membagi angka
dengan dua.
Dan jika itu sama dengan nol, maka itu genap.
Benar, jadi saya bisa mengatakan tidak sama dengan nol, jadi jika sisanya tidak sama dengan nol, itu akan menjadi
ganjil dan kami hanya mengembalikan ini.
Sekali lagi, ini akan dievaluasi menjadi ekspresi boolean dan berdasarkan filter ekspresi boolean akan mengatakan, jika
itu benar, saya akan menyimpannya dalam daftar.
Jika tidak, saya akan menghapusnya atau tidak.
Tambahkan ke daftar baru.
Jadi mari kita periksa ini daripada memetakan lebih sedikit untuk memfilter.
Dan di sini kita akan melakukan pemeriksaan.
Atau Anda tahu, saya tidak suka nama ini, ayo lakukan.
Hanya Khaled.
Seperti itu.
Jika saya menjalankan ini.
Lihat itu, saya sudah memfilter dan menghapus keduanya karena itu bilangan genap.
Sekali lagi, perhatikan di sini bagaimana saya tidak memanggil fungsi karena Filter menerima fungsi atau yang kita sebut tanda tangan fungsi, yaitu,
hei, beri tahu saya di mana saya dapat menemukan ruang memori apa yang harus saya gunakan untuk tindakan apa
yang harus diambil.
Dan itu akan mengatakan, hei, berikan saya datanya dan saya akan menjalankan fungsi ini pada setiap item.
Jadi ketika kita pergi ke satu, itu akan menjalankan fungsi ini dengan satu sebagai argumen.
Satu dibagi dua.
Yah, itu pasti tidak memberi kita sisa nol, jadi itu akan kembali.
Benar.
Dan itu berarti saya akan menambahkannya ke daftar baru yang kita buat saat kita mencapai
dua, karena ini akan menghasilkan false.
Itu tidak akan menambahkannya ke daftar.
Sekali lagi, jika katakanlah kita memiliki daftar pengguna dalam kasus itu, kita mungkin ingin memfilter berdasarkan pengguna yang
dimulai dengan nama A.
Kita dapat menggunakan fungsi filter untuk menyaring semua nama pengguna.
Dan hanya memiliki daftar baru dengan nama pengguna, dengan huruf, dimulai dengan fungsi lain yang sangat berguna, dan seperti yang Anda lihat,
kami menjaga semuanya tetap murni.
Ini membuat daftar baru bagi kami.
Itu tidak mengubah daftar asli.
Jadi kami selalu mengingat paradigma fungsional itu.
Dan sekali lagi, keindahan dengan peta dan filter terlihat betapa sederhananya fungsinya.
Semuanya bagus dan sederhana.
Dan ingatlah, mereka bisa menjadi sedikit lebih rumit.
Tapi yang perlu kita ketahui adalah, hei, apa yang harus saya lakukan terhadap barang tersebut dan mengapa saya harus mengembalikannya?
Itulah satu-satunya hal yang mereka khawatirkan daripada memiliki fungsi masif dan masif yang
mencoba melakukan segalanya.
Baiklah, mari kita bicara tentang Zipp selanjutnya.