Bagaimana untuk menghentikan kaedah forEach() dalam JavaScript?

WBOY
Lepaskan: 2023-08-23 19:53:02
ke hadapan
1005 orang telah melayarinya

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;
   }
}
Salin selepas log masuk

Tetapi kami tidak boleh menggunakan kata kunci 'break' dalam kaedah forEach().

array.forEach(element => {
   // code
   if( some condition ){
      break;
   }
});
Salin selepas log masuk

Kod di atas tidak akan menghentikan pelaksanaan gelung forEach().

Tutorial ini akan mengajar pelbagai cara untuk menghentikan gelung forEach() dalam JavaScript.

Gunakan kata kunci pulangan

Kata kunci pulangan menghentikan pelaksanaan kod. Dalam gelung forEach(), ia digunakan sebagai pernyataan continue.

Tatabahasa

Pengguna boleh menggunakan kata kunci pulangan mengikut sintaks berikut untuk menghentikan pelaksanaan kaedah forEach().

array.forEach(function (element, index) {
   if (condition) {
      return; 
   }
});
Salin selepas log masuk

Dalam sintaks di atas, jika keadaan menjadi benar, kod fungsi panggil balik elemen tidak akan dilaksanakan.

Terjemahan bahasa Cina bagi

Contoh 1

ialah:

Contoh 1

Dalam 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>
Salin selepas log masuk

Kata kunci "kembali" tidak akan mengganggu kaedah forEach(), tetapi ia akan berfungsi sebagai kata kunci kesinambungan jika syarat itu benar.

Hentikan gelung forEach() dengan melontar pengecualian

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'.

Tatabahasa

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) {
}
Salin selepas log masuk

Dalam sintaks di atas, kami telah menggunakan kata kunci lempar untuk membuang pengecualian dan memecahkan kaedah forEach().

Terjemahan bahasa Cina bagi

Contoh 2

ialah:

Contoh 2

Dalam 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>
Salin selepas log masuk

Dalam output di atas, pengguna boleh melihat bahawa ia berhenti mencetak elemen selepas ia menemui elemen jenis nombor dalam tatasusunan.

Gunakan kata kunci gelung dan putus biasa

Penyelesaian terbaik untuk menghentikan pelaksanaan kaedah forEach() ialah menggantikan gelung forEach() dengan gelung for biasa dan menggunakan kata kunci break untuk menghentikan pelaksanaannya.

Tatabahasa

Pengguna boleh mengikuti sintaks di bawah untuk menggunakan gelung untuk dengan kata kunci pemecahan.

for ( ){
   if (condition) {
      break;
   }
}
Salin selepas log masuk

Dalam sintaks di atas, kami menggunakan kata kunci break untuk menghentikan pelaksanaan gelung for apabila keadaan tertentu menjadi benar.

Terjemahan bahasa Cina bagi

Contoh 3

ialah:

Contoh 3

Dalam 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>
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan