Salah satu konsep terpenting dan mendasar dalam JavaScript adalah iterasi. Sebagai programmer, kita sering ditugaskan untuk mengulangi proses/blok kode tertentu atau memberikan kondisi pada kumpulan nilai tertentu untuk mencapai kinerja aplikasi yang optimal dan keterbacaan kode alamat. Saat bekerja dengan kumpulan data yang besar, keterbacaan kode menjadi masalah dan Anda dapat dengan mudah terjebak oleh waktu. Untuk mengurangi konsumsi waktu, iterasi menguntungkan kita.

Perulangan adalah eksekusi blok kode tertentu beberapa kali. Perulangan memungkinkan kita mengulangi instruksi sampai diperintahkan sebaliknya. Perulangan juga memungkinkan kita untuk mengatur kondisi yang akan menghentikan kode kita agar tidak berjalan berulang kali. Mari kita lihat salah satu contoh perulangan dan contoh iterasi.

Model Untuk Lingkaran

for( inisialisasi; kondisi; iterasi) {

[badan lingkaran] }

Perulangan for mengulangi blok kode untuk jumlah waktu tertentu dan tetap. Kondisi ini mengatur jumlah waktu yang ditentukan dan menghentikan kode berjalan melewati titik tersebut. Dalam contoh ini, console.log diulang sebanyak tiga kali, seperti yang diharapkan oleh kondisi. Iterasinya adalah sebuah inkrementor dan kita telah memulai inisialisasi pada 0. Penting untuk dicatat bahwa iterator dapat berupa pengurangan dan penambahan.

Dalam perulangan for, kita harus menggunakan pernyataan let karena kita memanipulasi variabel melalui penggunaan iterator(++, — ). Tip yang sama ini berlaku untuk pernyataan sementara dan juga berhasil dievaluasi menjadi benar ketika kondisi yang ditentukan terpenuhi.

Pertanyaannya sekarang adalah, jenis pernyataan manakah yang memungkinkan kita menggunakan const? Jawabannya adalah pernyataanfor…of. Mari kita lihat contohnya dan lihat mengapa kita bisa menggunakan constdan bukannya letuntuk mendeklarasikan variabel kita.

for…of memungkinkan kita melakukan perulangan pada objek yang dapat diubah yang dapat mencakup array dan string. Berikut adalah contoh perulangan for…of pada sebuah string:

Dalam contoh ini, kita dapat menggunakan const untuk mendeklarasikan variabel huruf kita karena pengembalian kita hanyalah perulangan karakter dalam string kita. Variabelnya tidak berubah karena pengembaliannya tidak memerlukan manipulasi.

Kita juga bisa menggunakan loop untuk melakukan iterasi pada objek. Jika Anda ingin mengulangi properti dalam suatu objek, modelnya akan terlihat seperti ini:

Model Untuk…Dalam

untuk (const [kunci] di [objek]) {

konsol.log(kunci)

};

Dalam contoh di atas, kita mengulang objek author dan mengakses kunci di objek tersebut untuk mencetak nilainya. Ini adalah alat yang berguna ketika mengakses kunci dalam suatu objek, khususnya yang disediakan oleh data API atau JSON. Perlu dicatat bahwa pernyataan for…in tidak dapat digunakan dengan array. Masalah dalam penggunaan for…in untuk melakukan loop melalui array adalah bahwa array tidak akan memberikan hasil yang optimal karena akan melakukan iterasi seolah-olah array adalah objek sehingga kinerjanya lebih lambat.

Jadi, apakah ada metode iterator yang berguna?

Ya! Dan itu adalah favorit saya (dengan alasan yang bagus). Mari kita bahas.

  • .find()- mengembalikan elemen pertama yang memenuhi operasi pengujian
  • .filter()- menghasilkan array baru dengan elemen yang memenuhi pengujian yang diberikan
  • .map()- menjalankan setiap elemen melalui suatu fungsi dan menghasilkan array baru dengan hasilnya
  • .forEach()- menjalankan fungsi tertentu untuk setiap elemen dalam array tertentu

Salah satu metode iterator paling umum yang saya gunakan adalah metode forEach(). Pada contoh di atas, kita mendeklarasikan sebuah konstanta yang disebut angka yang menampung array dengan sekumpulan angka. Untuk setiap angka, kami menerapkan fungsi yang akan mengambil semua indeks dalam array dan menerapkan fungsi menambahkan 2 ke masing-masing angka. Keluaran yang diharapkan mencerminkan keberhasilan pelaksanaannya seperti 1 +2 = 3, 2+2 =4, dan seterusnya.

Metode ini mudah diterapkan di banyak operasi dan membantu memfasilitasi proses penetapan fungsi ke struktur data yang berbeda.