Rumah >hujung hadapan web >tutorial js >Bagaimana untuk menghentikan kaedah forEach() dalam JavaScript?
Dalam JavaScript, pengaturcara boleh menggunakan kaedah forEach() untuk mengulangi pelbagai elemen. Kita boleh memanggil fungsi panggil balik, menghantarnya sebagai hujah kepada kaedah forEach() untuk setiap elemen tatasusunan.
Kadangkala, kita mungkin perlu menghentikan gelung forEach() selepas melaksanakan fungsi panggil balik. Kita boleh menggunakan kata kunci 'break' dalam gelung biasa untuk menghentikannya seperti yang ditunjukkan di bawah.
for(let i = 0; i < length; i++){ // code if( some condition ){ break; } }
Tetapi kami tidak boleh menggunakan kata kunci 'break' dalam kaedah forEach().
array.forEach(element => { // code if( some condition ){ break; } });
Kod di atas tidak akan menghentikan pelaksanaan gelung forEach().
Tutorial ini akan mengajar pelbagai cara untuk menghentikan gelung forEach() dalam JavaScript.
Kata kunci pulangan menghentikan pelaksanaan kod. Dalam gelung forEach(), ia digunakan sebagai pernyataan continue.
Pengguna boleh menggunakan kata kunci pulangan mengikut sintaks berikut untuk menghentikan pelaksanaan kaedah forEach().
array.forEach(function (element, index) { if (condition) { return; } });
Dalam sintaks di atas, jika keadaan menjadi benar, kod fungsi panggil balik elemen tidak akan dilaksanakan.
Terjemahan bahasa Cina bagiDalam contoh di bawah, Kami menggunakan kaedah forEach() dengan tatasusunan rentetan Kami memanggil fungsi panggil balik untuk setiap elemen, yang mencetak setiap elemen Kami menggunakan syarat bahawa jika indeks > fungsi. Jadi ia tidak akan mencetak elemen.
<html> <body> <h2>Using the <i>return keyword</i> to stop the execution of the forEach() loop.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let array = ["string1", "string2", 10, 20, false, true]; function callback(element, index) { // stop execution of for-loop if (index > 2) { return; // works like a continue statement } output.innerHTML += "The array element is " + element + "<br/>"; } array.forEach(callback); </script> </body> </html>
Kata kunci "kembali" tidak akan mengganggu kaedah forEach(), tetapi ia akan berfungsi sebagai kata kunci kesinambungan jika syarat itu benar.
Satu lagi cara untuk menghentikan pelaksanaan gelung forEach() ialah menggunakan pernyataan cuba-tangkap. Apabila kita ingin menghentikan pelaksanaan kaedah forEach(), kita boleh membuang ralat. Selain itu, kita boleh menangkap ralat dalam blok 'tangkapan'. Kita boleh melaksanakan sebarang kod yang perlu kita laksanakan selepas kaedah forEach() dalam blok 'akhirnya'.
Pengguna boleh menggunakan pernyataan cuba-tangkap mengikut sintaks berikut untuk menghentikan kaedah forEach().
try { array.forEach((ele) => { if (condition) { throw new Error("Break the loop.") } }) } catch (error) { }
Dalam sintaks di atas, kami telah menggunakan kata kunci lempar untuk membuang pengecualian dan memecahkan kaedah forEach().
Terjemahan bahasa Cina bagiDalam contoh di bawah, kami telah menggunakan kaedah forEach() dengan pernyataan cuba-tangkap. Dalam fungsi panggil balik kaedah forEach(), kami menyemak jenis elemen dan jika kami menemui sebarang elemen jenis "nombor", kami membuang ralat.
Jadi, ia akan berhenti melaksanakan kaedah forEach().
<html> <body> <h2>Using the <i>try-catch statement</i> to stop the execution of the forEach() loop.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let array = ["Cpp", "c", "Java", "JavaScript", 06, true, 43, false]; try { array.forEach((ele) => { if (typeof ele == "number") { throw new Error("Break the loop.") } output.innerHTML += "Element value is " + ele + "<br/>"; }) } catch (error) { output.innerHTML += "Exception thrown from the forEach loop. " + error; } </script> </body> </html>
Dalam output di atas, pengguna boleh melihat bahawa ia berhenti mencetak elemen selepas ia menemui elemen jenis nombor dalam tatasusunan.
Penyelesaian terbaik untuk menghentikan pelaksanaan kaedah forEach() ialah menggantikan gelung forEach() dengan gelung for biasa dan menggunakan kata kunci break untuk menghentikan pelaksanaannya.
Pengguna boleh mengikuti sintaks di bawah untuk menggunakan gelung untuk dengan kata kunci pemecahan.
for ( ){ if (condition) { break; } }
Dalam sintaks di atas, kami menggunakan kata kunci break untuk menghentikan pelaksanaan gelung for apabila keadaan tertentu menjadi benar.
Terjemahan bahasa Cina bagiDalam contoh di bawah, kami telah menentukan tatasusunan yang mengandungi pelbagai nilai. Kami menggunakan gelung normal for untuk merentasi tatasusunan, dan jika nilai tatasusunan lebih besar daripada 30, kami menggunakan kata kunci pemecahan untuk menghentikan pelaksanaan gelung for.
<html> <body> <h2>Using the normal for-loop with break keyword to stop the execution of for-loop. </h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let arrayElements = [10, 20, 30, 40, 50, 60, 70, 80, 90]; output.innerHTML += "Some array elements are " for (let k = 0; k < arrayElements.length; k++) { if (arrayElements[k] > 30) { break; } output.innerHTML += arrayElements[k] + " , "; } </script> </body> </html>
Kaedah. Kaedah pertama tidak memecahkan gelung, tetapi bertindak sebagai pernyataan "teruskan". Kaedah kedua menggunakan pernyataan cuba-tangkap untuk mengganggu kaedah forEach(). Dalam pembangunan sebenar, kita tidak boleh membuang ralat untuk mengganggu gelung forEach(). Oleh itu, kaedah pertama dan kedua tidak disyorkan.
Dalam kaedah ketiga, kami menggantikan kaedah forEach() dengan gelung for normal dan menggunakan kata kunci break. Kaedah ketiga akan berfungsi dengan baik, tetapi gelung normal untuk mungkin lebih perlahan daripada kaedah forEach() apabila melelaran melalui elemen. Oleh itu, pengguna juga boleh mencuba kaedah array.some() dan array.each() untuk meningkatkan prestasi.
Atas ialah kandungan terperinci Bagaimana untuk menghentikan kaedah forEach() dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!