Περισσότερα
Βραχυκύκλωμα Array.forEach όπως η κλήση break
[1,2,3].forEach(function(el) {
if(el === 1) break;
});
Πώς μπορώ να το κάνω αυτό χρησιμοποιώντας τη νέα μέθοδο forEach
στη JavaScript; Δοκίμασα το return;
, το return false;
και το break
. Το break
καταρρέει και το return
δεν κάνει τίποτα άλλο από το να συνεχίσει την επανάληψη.
1416
3
Δεν υπάρχει ενσωματωμένη δυνατότητα "σπασίματος" στο
forEach
. Για να διακόψετε την εκτέλεση θα πρέπει να πετάξετε μια εξαίρεση κάποιου είδους. π.χ.Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε τη μέθοδο
jquery
'seach
, καθώς επιτρέπει να επιστρέψετε false μέσα στη συνάρτηση callback:Οι βιβλιοθήκες Lodash παρέχουν επίσης τη μέθοδο
takeWhile
, η οποία μπορεί να συνδεθεί αλυσιδωτά με map/reduce/fold κ.λπ:Βρήκα αυτή τη λύση σε έναν άλλο ιστότοπο. Μπορείτε να τυλίξετε το forEach σε ένα σενάριο try / catch.
Περισσότερες λεπτομέρειες εδώ: http://dean.edwards.name/weblog/2006/07/enum/