Сегодня создадим систему событий, которая позволяет модулям общаться друг с другом напрямую. Такой подход упрощает архитектуру и делает код независимым и масштабируемым.
В этом посте:
• Создаём класс-рассыльщик событий.
• Подписываемся и отписываемся от событий.
• Реагируем на события в разных модулях.
• Изолируем и расширяем логику через события.
Идеально для: динамических UI, плагинов, игровых и интерактивных систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍15🔥7🤝1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤12👍11🤝1
Фильтруем объекты по ключу и значению!
В разработке часто нужно фильтровать списки объектов по динамическим критериям. Это помогает отбирать нужные данные из API, работать с таблицами и списками.
Например, есть массив пользователей с разными статусами:
Напишем универсальную функцию, которая принимает массив, ключ и искомое значение. Она вернёт только те объекты, где значение поля совпадает:
Используем функцию для получения только активных пользователей:
🔥 Такой приём пригодится в любой работе с данными — валидации, отображении и логике.
📣 JS Ready | #практика
В разработке часто нужно фильтровать списки объектов по динамическим критериям. Это помогает отбирать нужные данные из API, работать с таблицами и списками.
Например, есть массив пользователей с разными статусами:
const data = [
{ id: 1, status: "active" },
{ id: 2, status: "inactive" },
{ id: 3, status: "active" },
];
Напишем универсальную функцию, которая принимает массив, ключ и искомое значение. Она вернёт только те объекты, где значение поля совпадает:
function filterByKey(arr, key, value) {
return arr.filter(item => item[key] === value);
}Используем функцию для получения только активных пользователей:
const active = filterByKey(data, "status", "active");
console.log(active); // объекты со статусом "active"
🔥 Такой приём пригодится в любой работе с данными — валидации, отображении и логике.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥8👍7
Когда приходят грязные данные с сервера или пользователь вводит повторы — важно убрать дубликаты и сохранить порядок. Простое решение через
Set не всегда подходит, если порядок критичен.В этой задаче:
• Обрабатываем массив вручную — без потери порядка.
• Используем Set только для контроля повторов.
• Пишем функцию, которую легко переиспользовать.
Такой приём применяют при фильтрации тегов, обработке пользовательского ввода и агрегации логов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍8❤6🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
CodeCombat — это полноценная игра: ты пишешь код, а твой герой выполняет команды, побеждает врагов и решает задачи. Подходит и новичкам, и разработчикам, которые хотят отдохнуть с пользой!
📌 Оставляю ссылочку: codecombat.com
📣 JS Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝13❤6👍6🔥2
Зачем заставлять пользователя выбирать вручную, если можно подставить это автоматически?
В этом гайде:
• Заполним поля с type="date" и type="time" сразу при открытии.
• Реализуем автозаполнение только при первом фокусе — чтобы не мешать тем, кто хочет ввести вручную.
• Рассчитаем будущую дату — например, через 7 дней от сегодня, прямо в коде.
Такие улучшения экономят время, снижают количество ошибок и делают UX понятнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤8🔥7🤝2