> Как реализовать возврат true или false в полифилле some для прерывания перебора при первом true? (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Яндекс

Стек: JavaScript

> Пример ответа

В полифилле Array.prototype.some прерывание перебора при первом true реализуется с помощью возврата true из колбэка и немедленного выхода из цикла. Вот пример:

JAVASCRIPT
if (!Array.prototype.some) {
Array.prototype.some = function(callback, thisArg) {
if (this == null) {
throw new TypeError('Array.prototype.some called on null or undefined');
}
if (typeof callback !== 'function') {
throw new TypeError(callback + ' is not a function');
}
const array = Object(this);
const length = array.length >>> 0;
for (let i = 0; i < length; i++) {
if (i in array) {
if (callback.call(thisArg, array[i], i, array)) {
return true; // Прерывание цикла и возврат true
}
}
}
return false; // Если ни один элемент не прошел проверку
};
}

Ключевой момент: внутри цикла for при вызове callback проверяется его возвращаемое значение. Если оно приводится к true, функция немедленно возвращает true - это и есть прерывание. Если цикл завершился без такого случая, возвращается false.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью