Вопрос проверяет понимание работы массивов, колбэков и принципов итерации в JavaScript.
Метод some перебирает элементы массива и возвращает true, если хотя бы один элемент удовлетворяет условию. Реализация сводится к циклу с ранним выходом. Колбэк вызывается для каждого элемента до первого совпадения. Если условие не выполнено ни разу, возвращается false. Поведение строго определено спецификацией.
Реализация some помогает понять, как работают встроенные методы массивов и почему они устроены именно так.
Метод some:
проходит по массиву слева направо
вызывает колбэк для каждого элемента
останавливается при первом true
возвращает true или false
function some<T>(array: T[], callback: (value: T) => boolean): boolean {
for (let i = 0; i < array.length; i++) {
if (callback(array[i])) {
return true
}
}
return false
}
используется цикл, а не forEach
есть досрочный выход
порядок элементов сохраняется
some — это линейный проход по массиву с возможностью раннего завершения. Его ручная реализация хорошо демонстрирует работу колбэков и условий в JavaScript.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию