Javascript Iterator adalah objek atau pola yang memungkinkan kita melintasi daftar atau koleksi. Iterator menentukan urutan dan mengimplementasikan protokol iterator yang mengembalikan objek dengan menggunakan metode next() yang berisi nilai dan selesai. Nilai tersebut berisi nilai selanjutnya dari urutan iterator dan yang dilakukan adalah nilai boolean benar atau salah jika nilai terakhir dari urutan tersebut telah dikonsumsi maka benar jika tidak salah. Show Kami dapat memeriksa apakah ada entitas yang secara default dapat diubah atau tidak. Kami dapat memeriksa prototipenya dan dapat melihat apakah ia memiliki metode Symbol(Symbol. iterator) atau tidak. Dalam Array. prototipe Anda akan menemukan Symbol(Symbol. iterator). ƒ nilai() metode. Array secara default dapat diubah. Juga, String, Map & Set adalah built-in iterables karena objek prototipe mereka semuanya memiliki Simbol. metode iterator() Contoh. Contoh ini menggunakan simbol. pendekatan iterator untuk beralih ke array javascript
a b c0 , a b c2 a b c3 a b c_4
a b c6 a b c_4
a b c_9 a b c_4
{value: 'item value', done: boolean}2
{value: 'item value', done: boolean}_4 a b c_4
{value: 'item value', done: boolean}2
{value: 'item value', done: boolean}_9 a b c_4
{value: 'item value', done: boolean}2
var newIt = arr[Symbol.iterator] newIt() //Because it does not properly bind Uncaught TypeError: Cannot convert undefined or null to object //How we can fix this //var newIt = arr[Symbol.iterator].bind(arr); newIt() Array Iterator { }4 a b c_4
{value: 'item value', done: boolean}2
0 1 2 3 41
0 1 2 3 43
0 1 2 3 45 0 1 2 3 4_6 Keluaran {"value":"a","done":false} {"value":"b","done":false} {"value":"c","done":false} {"done":true} Menggunakan untuk. dari loop, kita dapat mengulangi entitas apa pun (misalnya. objek) yang mengikuti protokol iterable. untuk. of loop akan mengeluarkan nilai yang dikembalikan dengan memanggil metode next() setiap kali Contoh. Contoh ini menggunakan for. dari loop untuk beralih ke array javascript
a b c0 , a b c2 a b c3
0 1 2 3 4_6 Keluaran a b c Protokol yang dapat diubah. Objek harus mendefinisikan metode dengan 'Simbol. iterator’ kunci yang mengembalikan objek yang mengikuti protokol iterator. Objek harus menentukan metode 'selanjutnya' yang mengembalikan objek yang memiliki dua properti 'nilai' dan 'selesai' JavaScript menyediakan protokol untuk mengulang struktur data. Protokol ini menentukan bagaimana struktur data ini diulang menggunakan Array Iterator {} StringIterator {}0 loop Konsep protokol dapat dibagi menjadi Protokol iterable menyebutkan bahwa iterable harus memiliki kunci Array Iterator {} StringIterator {}1 Iterable JavaScript Struktur data yang memiliki metode Array Iterator {} StringIterator {}_2 disebut iterables. Misalnya, Array, String, Set, dll Iterator JavaScript Iterator adalah objek yang dikembalikan oleh metode Array Iterator {} StringIterator {}2 Protokol iterator menyediakan metode Array Iterator {} StringIterator {}_4 untuk mengakses setiap elemen iterable (struktur data) satu per satu Mari kita lihat contoh iterables yang memiliki Array Iterator {} StringIterator {}5
Keluaran Array Iterator {} StringIterator {} Di sini, memanggil metode Array Iterator {} StringIterator {}_2 dari array dan string mengembalikan masing-masing iterator Iterasi Melalui IterablesAnda dapat menggunakan Array Iterator {} StringIterator {}0 loop untuk beralih melalui objek yang dapat diubah ini. Anda dapat mengulang melalui metode Array Iterator {} StringIterator {}_2 seperti ini
Keluaran 1 2 3 Atau Anda cukup mengulang melalui array seperti ini
Di sini, iterator memungkinkan Array Iterator {} StringIterator {}_0 loop untuk beralih ke array dan mengembalikan setiap nilai Metode JavaScript next()Objek iterator memiliki metode Array Iterator {} StringIterator {}_4 yang mengembalikan item berikutnya dalam urutan Metode Array Iterator {} StringIterator {}_4 berisi dua properti. 2 dan 3
Mari kita lihat contoh array iterables
Anda dapat memanggil Array Iterator {} StringIterator {}_4 berulang kali untuk mengulangi objek 1 2 30
Mari kita lihat bagaimana Array Iterator {} StringIterator {}0 loop mengeksekusi program di atas. Sebagai contoh,
Keluaran h e l l o Loop Array Iterator {} StringIterator {}_0 melakukan hal yang persis sama dengan program di atas Loop Array Iterator {} StringIterator {}_0 terus memanggil metode Array Iterator {} StringIterator {}4 pada iterator. Setelah mencapai _1, loop Array Iterator {} StringIterator {}0 berakhir Iterator yang Ditentukan PenggunaAnda juga dapat membuat iterator Anda sendiri dan memanggil Array Iterator {} StringIterator {}4 untuk mengakses elemen berikutnya. Sebagai contoh,
Keluaran {value: "h", done: false} {value: "e", done: false} {value: "l", done: false} {value: "l", done: false} {value: "o", done: false} {value: undefined, done: true} Pada program di atas, kita telah membuat iterator kita sendiri. Fungsi _4 mengembalikan properti 2 dan 3
Apa itu iterasi dari sebuah loop?Sebuah loop didefinisikan sebagai segmen kode yang dieksekusi berkali-kali. Iterasi mengacu pada proses di mana segmen kode dieksekusi sekali . Satu iterasi mengacu pada eksekusi 1 kali dari sebuah loop. Sebuah loop dapat mengalami banyak iterasi.
Apakah perulangan dan iterasi sama?Perulangan dapat didefinisikan sebagai pengulangan proses yang sama berkali-kali hingga kondisi tertentu terpenuhi. Ini juga dikenal sebagai iterasi .
Apa itu iterator dan iterable dalam JavaScript?JavaScript iterable adalah objek yang memiliki Simbol. iterator . Simbol. iterator adalah fungsi yang mengembalikan fungsi next(). Iterable dapat diulangi dengan kode. untuk (const x dari iterable) { }
Apa saja 3 jenis konstruksi iterasi?Kita akan mempelajari tiga bentuk iterasi. ekor-rekursi, while loop, dan for loop . Kami akan menggunakan tugas membalikkan daftar sebagai contoh untuk mengilustrasikan bagaimana berbagai bentuk iterasi terkait satu sama lain dan dengan rekursi. |