Untuk memutus loop forEach() di TypeScript, lempar dan tangkap kesalahan dengan membungkus panggilan ke metode forEach() di blok try/catch. Saat kesalahan dilemparkan, metode forEach() akan berhenti mengulangi koleksi
Kami tidak dapat menggunakan pernyataan break di luar loop - e. g. dalam metode forEach() , jadi kami harus membungkus metode forEach dalam blok try/catch
Kami pada dasarnya membuang kesalahan untuk keluar dari metode forEach(), dengan cara yang sama kami akan keluar dari loop dengan pernyataan break
Kesalahan tersangkut di blok catch, sehingga aplikasi kita tetap berjalan tanpa masalah
Di blok catch kami, kami memeriksa apakah kesalahan yang tertangkap tidak sama dengan forEach()1 yang kami lempar dan lempar kembali jika tidak. Ini membantu kami menghindari pembungkaman kesalahan nyata apa pun dalam isi metode forEach()
Jika Anda mencoba keluar dari metode forEach() menggunakan pernyataan break, Anda akan mendapatkan kesalahan
Ini karena pernyataan break_ hanya dapat digunakan untuk keluar dari loop, tetapi kami mencoba menggunakan kata kunci dalam suatu fungsi
Jika Anda hanya ingin keluar dari satu iterasi dalam metode forEach(), Anda akan menggunakan pernyataan forEach()7
Contoh di atas hanya melewatkan iterasi kedua, karena menggunakan pernyataan forEach()7 dengan forEach() sama dengan menggunakan try/catch0 dalam satu lingkaran - ini hanya mengakhiri iterasi saat ini dan melanjutkan dengan iterasi berikutnya
Perhatikan bahwa kita dapat menggunakan pernyataan break_ dalam skenario berikut
- dasar untuk loop
- untuk. dari loop
- untuk. dalam lingkaran
- while loop
- beralih pernyataan
Ini berarti bahwa Anda berpotensi menggunakan try/catch2 loop alih-alih metode forEach() dan menggunakan pernyataan break untuk keluar
Loop try/catch_2 mengulang array dengan cara yang sama seperti forEach(), tetapi memungkinkan kita untuk menggunakan pernyataan break
Jika Anda memerlukan akses ke indeks saat ini saat melakukan iterasi, Anda dapat menggunakan loop for dasar
Sintaks untuk loop dasar agak bertele-tele, tetapi memungkinkan kita untuk menggunakan pernyataan break dan memberi kita akses ke indeks iterasi saat ini
Menghentikan perulangan forEach() tampaknya hampir seperti tugas yang mustahil, tetapi di sini ada beberapa trik yang dapat kita gunakan untuk melakukannya
Contoh contoh menggunakan forEach()
var sum = 0; var number = [90, 4, 22, 48]; number.forEach(myFunction); function myFunction(item) { sum += item; } console.log(sum);Trik untuk menghentikan forEach() loop
Metode 1. Metode berikut menunjukkan penggunaan blok try-catch. Kode berikut menunjukkan mengelilingi benda dengan blok try-catch dan melempar pengecualian saat forEach loop istirahat
Contoh. Contoh ini menggunakan pendekatan di atas
Javascript
var animals=["pig","lion","boar",pig lion Loop has ended1pig lion Loop has ended2
pig lion Loop has ended_3
pig lion Loop has ended4 pig lion Loop has ended5
pig lion Loop has ended6pig lion Loop has ended7
pig lion Loop has ended_3
pig lion Loop has ended690 870 90 871
pig lion Loop has ended_3
________10pig lion Loop has ended_10_______4
90 87390 87690 877"boar"90 879
pig lion Loop has ended_3
90 873var2
90 873var4
90 873var6 var7 var8________57______9animals=[0
90 873animals=[2
pig lion Loop has ended6animals=[4
animals=[4
animals=[6animals=[7
pig lion Loop has ended6animals=[9"pig"0"pig"1
animals=[4
Keluaran
pig lion Loop has ended_Metode 2. Metode ini tidak benar-benar keluar dari loop forEach() tetapi menganggapnya sebagai pernyataan berkelanjutan terhadap semua elemen lainnya i. e. itu melompati semua elemen lain setelah elemen yang memenuhi kondisi yang diberikan.
Tidak ada cara untuk menghentikan atau memutus forEach() loop selain dengan melemparkan pengecualian dalam JavaScript. Gunakan loop sederhana sebagai gantinya
Contoh JavaScript forEach break
Kode contoh sederhana menginterupsi eksekusi Anda harus membuang semacam pengecualian
<!DOCTYPE html> <html> <head> <script> var BreakException = {}; let arr = [1, 2, 3]; try { arr.forEach(function(el) { console.log(el); if (el === 2) throw BreakException; }); } catch (e) { console.log("BreakException") if (e !== BreakException) throw e; } </script> </head> <body> </body> </html>Keluaran
Pengecualian JavaScript tidak terlalu bagus. Loop for tradisional mungkin lebih tepat jika Anda benar-benar perlu break di dalamnya
Gunakan Array#some
Sebaliknya, gunakan Array#some
[1, 2, 3].some(function(el) { console.log(el); return el === 2; });Ini berfungsi karena some mengembalikan true segera setelah salah satu callback, dieksekusi dalam urutan array, mengembalikan true, mempersingkat eksekusi sisanya
Sumber. stackoverflow. com
Berikan komentar jika Anda memiliki keraguan atau saran tentang topik JS forEach ini
Catatan. Semua kode Contoh JS diuji di browser Firefox dan browser Chrome
OS. Windows 10
Kode. Versi HTML5
Rohit
Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis