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) }) })
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:
Atas ialah kandungan terperinci Adakah `return` Menghentikan Lelaran Gelung `forEach`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!