Как прервать цикл forEach в javascript
Наткнулся на медиуме на интересный вопрос - как остановить forEach ? И решение конечно есть, но так себе - выкинуть ошибку внутри цикла и поймать ее внешним try/catch:
const numbers = [1, 2, 3, 4, 5];
try {
numbers.forEach(number => {
if (number > 3) {
throw new Error('Цикл остановлен');
}
console.log(number);
});
} catch (e) {
console.log('Цикл остановлен');
}
// вывод: 1, 2, 3
Хоть решение и костыльное, оно позволяет понять как работают функции и как с этим быть. Лично мне немного открыло глаза на мир)
А вообще лучше использовать some, или find если нужно чтоб цикл прошел не по всему массиву.
Так что снипет одновременно и бесполезный, и одновременно дает понимание работы javascript.
Менторство от автора - @H8err | getMentor.dev
· 20.06.2024
Отвечая на вопрос про some и find. Эти методы пройдутся по всему массиву, просто вернут разное значение
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 21.06.2024
Пол значения конечно. Главное из преимущество - они не пойдут по всему массиву. Они остановится на первой найденном варианте и всё
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён