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

Adakah `return` Menghentikan Lelaran Gelung `forEach`?

Patricia Arquette
Lepaskan: 2024-12-26 18:13:09
asal
275 orang telah melayarinya

Does `return` Stop a `forEach` Loop's Iteration?

Bagaimanakah pemulangan Mempengaruhi Lelaran forEach Fungsi?

Apabila menggunakan fungsi forEach, anda mungkin menjangkakan bahawa pengembalian nilai palsu akan tercetus daripada gelung dan hentikan lelaran selanjutnya. Walau bagaimanapun, ini tidak berlaku.

Maksud pulangan dalam forEach

Dalam fungsi forEach, kata kunci pulangan beroperasi secara berbeza daripada dalam gelung lain. Daripada menghentikan keseluruhan gelung, ia hanya mengembalikan hasil lelaran semasa.

Contoh:

Pertimbangkan kod JavaScript berikut:

$('button').click(function () {
   [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

Penjelasan:

Apabila fungsi iterator menemui n == 3, ia mengembalikan palsu. Ini tidak menamatkan keseluruhan gelung sebaliknya menunjukkan bahawa lelaran semasa harus kembali palsu.

Mengapa Ia Terus Berulang:

Fungsi forEach mengabaikan nilai yang dikembalikan dan meneruskan lelaran melalui elemen tatasusunan yang tinggal. Ini kerana forEach direka bentuk untuk lelaran ke atas keseluruhan tatasusunan, tanpa mengira hasil fungsi iterator.

Pilihan Gelung Alternatif:

Jika anda perlu keluar gelung secara bersyarat, pertimbangkan untuk menggunakan kaedah gelung alternatif seperti:

  • Mudah gelung
  • untuk...gelung
  • Array.prototype.every()
  • Array.prototype.some()
  • Array.prototype.find ()
  • Array.prototype.findIndex()

Atas ialah kandungan terperinci Adakah `return` Menghentikan Lelaran Gelung `forEach`?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan