Rumah > hujung hadapan web > tutorial js > Adakah `return` Menghentikan Gelung `forEach` JavaScript?

Adakah `return` Menghentikan Gelung `forEach` JavaScript?

DDD
Lepaskan: 2025-01-04 21:07:40
asal
927 orang telah melayarinya

Does `return` Stop a JavaScript `forEach` Loop?

Memahami Penggunaan pulangan dalam forEach Function

Dalam fungsi forEach JavaScript, menggunakan kata kunci return mempunyai kesan terhad.

Kesan pulangan

Dalam masa untukSetiap fungsi panggil balik, pulangan hanya mempengaruhi pelaksanaan panggilan balik tertentu itu. Ia tidak memecahkan gelung dan tidak menghalang panggilan balik berikutnya daripada berjalan. Oleh itu, dalam contoh yang disediakan:

[1, 2, 3, 4, 5].forEach(function (n) {
   if (n == 3) {
      // it should break out here and doesn't alert anything after
      return false
   }
   alert(n)      
})
Salin selepas log masuk

Apabila n sama dengan 3, panggilan balik akan mengembalikan palsu, yang bersamaan dengan mengembalikan "tidak ditentukan" dalam konteks ini. Walau bagaimanapun, gelung akan diteruskan seperti yang dijangkakan dan nombor seterusnya (4) akan dimaklumkan.

Kaedah Lelaran Alternatif

Jika anda perlu keluar dari gelung berdasarkan syarat, pertimbangkan untuk menggunakan kaedah lelaran alternatif seperti:

  • A mudah gelung:

    for (let i = 0; i < array.length; i++) {
    if (array[i] == 3) {
      break;
    }
    alert(array[i]);
    }
    Salin selepas log masuk
  • Array.prototype.every():

    array.every((n) => {
    if (n == 3) {
      return false; // Exit the loop
    }
    alert(n);
    return true;
    });
    Salin selepas log masuk

Dokumentasi Rangkaian Pembangun Mozilla

Seperti yang dinyatakan dalam Pembangun Mozilla Dokumentasi rangkaian:

"Tiada cara untuk menghentikan atau memecahkan gelung forEach() selain dengan membuang pengecualian. Jika anda memerlukan tingkah laku sedemikian, kaedah forEach() ialah alat yang salah."

Atas ialah kandungan terperinci Adakah `return` Menghentikan Gelung `forEach` JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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