Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menghentikan Gelung `forEach` Awal dalam JavaScript?

Bagaimanakah Saya Boleh Menghentikan Gelung `forEach` Awal dalam JavaScript?

DDD
DDDasal
2024-12-26 09:53:10206semak imbas

How Can I Stop a `forEach` Loop Early in JavaScript?

Cara Susunan Litar Pintas.untukSetiap Lelaran Menggunakan Pengecualian

Kaedah Array.forEach() membenarkan lelaran ke atas elemen tatasusunan , menyediakan fungsi panggil balik untuk setiap elemen. Walau bagaimanapun, ia tidak mempunyai keupayaan untuk menghentikan lelaran secara tiba-tiba menggunakan kaedah seperti putus.

Untuk mengatasi had ini, anda boleh memanfaatkan pengecualian untuk mengganggu pelaksanaan forEach(). Dengan melontar pengecualian tersuai, anda boleh memberi isyarat bahawa lelaran harus ditamatkan.

Pertimbangkan kod berikut:

var BreakException = {};

try {
  [1, 2, 3].forEach(function(el) {
    console.log(el);
    if (el === 2) throw BreakException;
  });
} catch (e) {
  if (e !== BreakException) throw e;
}

Dalam contoh ini, kami mentakrifkan pengecualian tersuai bernama BreakException. Dalam panggilan balik forEach(), kami menyemak elemen dengan nilai 2. Jika ditemui, ia membuang BreakException, serta-merta menamatkan lelaran.

Cuba...catch block menangkap sebarang pengecualian yang dilemparkan dalam forEach () panggil balik. Jika pengecualian itu bukan contoh BreakException, ia dilemparkan semula untuk mengekalkan pengendalian ralat biasa.

Teknik ini membolehkan anda membuat lelaran Array.forEach() litar pintas dengan berkesan dengan menghentikan pelaksanaan atas keadaan tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghentikan Gelung `forEach` Awal dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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