В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Ниже пример реализации React-компонента, который принимает массив команд и пользователей, сопоставляет участников по ID и выводит карточки с участниками:
Для решения задачи с ограничением количества одновременных fetch-запросов можно использовать очередь и контролировать количество активных промисов. Ниже пример реализации на JavaScript с использованием async/await:
Без полного кода функции makeBook сложно дать точный ответ, но обычно в подобных вопросах речь идёт о поведении замыканий, областей видимости или особенностях работы с объектами в JavaScript.
Используя JSON.stringify() для сериализации объекта в строку перед сохранением и JSON.parse() для десериализации строки обратно в объект при получении.
Если метод getMultiSum реализован через обычную function, а не стрелочную, то внутри него this не будет ссылаться на экземпляр класса, а будет либо undefined (в строгом режиме), либо глобальным объектом (в нестрогом).
Для реализации аналога Array.flat(), но для объектов, нужно рекурсивно пройти по всем вложенным объектам и "вытянуть" их свойства в один плоский объект с ключами, отражающими путь к значению.
Функция asyncFilter должна последовательно или параллельно применять асинхронный предикат к каждому элементу массива и возвращать новый массив с элементами, для которых предикат вернул true.
Потеря контекста this в методе getMultiSum обычно происходит, когда метод передается как callback или вызывается вне объекта. Чтобы исправить это, можно использовать несколько подходов: