Группировка данных по ключу!
При работе с табличными данными, API-ответами или логами часто нужно группировать записи по определённому признаку — роли, категории, дате.
Исходный массив объектов — типичный кейс из API:
📣 JS Ready | #практика
При работе с табличными данными, API-ответами или логами часто нужно группировать записи по определённому признаку — роли, категории, дате.
Исходный массив объектов — типичный кейс из API:
const users = [
{ name: "Alice", role: "admin" },
{ name: "Bob", role: "user" },
{ name: "Eve", role: "admin" },
];
Используем reduce как агрегатор. В одну строку — и читаемо, и производительно:
const grouped = users.reduce((acc, u) => {
(acc[u.role] ||= []).push(u);
return acc;
}, {});
Теперь grouped.admin и grouped.user содержат списки пользователей по ролям. Получить нужную подгруппу — просто:
console.log(grouped["user"]); // [{ name: "Bob", role: "user" }]
🔥 Такой приём универсален для списков любых сущностей — от заказов до логов, и легко адаптируется под бизнес-логику.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤8🔥6🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
От сортировок и форматирования даты до уникальных хаков с массивами и объектами — всё в одном месте. Подходит как шпаргалка и как источник решений для повседневных задач. Каждый сниппет объяснён и готов к применению.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍6🔥6
Сегодня создадим минималистичный стор — простой инструмент для хранения состояния с подписками, который позволяет автоматически реагировать на изменения данных.
В этом посте:
• Напишем методы get, set и subscribe для работы с состоянием.
• Реализуем механизм подписки и отписки от обновлений.
• Свяжем стор с обновлением DOM для динамического интерфейса.
Этот навык — отличный фундамент для понимания работы популярных фреймворков и построения собственных реактивных приложений с нуля.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤9👍5
This media is not supported in your browser
VIEW IN TELEGRAM
JavaScript info — целый учебник по современному JavaScript. От основ до глубинных тем вроде области видимости, классов и прототипов.
📌 Оставляю ссылочку: javascript.info
📣 JS Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍9🤝8
Своя система событий (EventBus) на ООП!
Создаём базу для общения компонентов в приложении. Начнем с простого класса:
Теперь добавим метод
Далее
Проверим, как это работает на практике:
🔥 Мини-фреймворк готов! Теперь ты можешь строить масштабируемые интерфейсы с чистой архитектурой.
📣 JS Ready | #практика
Создаём базу для общения компонентов в приложении. Начнем с простого класса:
class EventBus {
constructor() {
this.events = {};
}
}Теперь добавим метод
.on() — подписка на событие:on(event, cb) {
(this.events[event] ||= []).push(cb);
}Далее
.emit() — запуск всех подписчиков:emit(event, data) {
(this.events[event] || []).forEach(cb => cb(data));
}Проверим, как это работает на практике:
const bus = new EventBus();
bus.on('ping', msg => console.log('Получено:', msg));
bus.emit('ping', 'Привет!');
🔥 Мини-фреймворк готов! Теперь ты можешь строить масштабируемые интерфейсы с чистой архитектурой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥7🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
JSDares — это игровая платформа с открытым исходным кодом, где вы получаете задания от сообщества, которые вам нужно решить.
📌 Оставляю ссылочку: jsdares.com
📣 JS Ready | #игра
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7❤4🤝1
В этом посте ты разработаешь интерактивный конструктор суши с визуальным стеком и автоматическим подсчётом цены.
Сегодня рассмотрим:
• Добавление ингредиентов по клику.
• Обновление визуального стека.
• Подсчёт итоговой цены в реальном времени.
• Гибкая архитектура.
Подходит для: меню доставки, геймификации, e-commerce-интерфейсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤8👍8👎2🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Prettier — плагин для VS Code, который форматирует ваш код по единым стандартам: ставит отступы, пробелы, переносы строк и даже следит за запятыми.
Работает с JavaScript, HTML, CSS и множеством других языков. Особенно полезен в командной разработке — один стиль на всех, меньше споров.
Без лишней суеты — сохраняете файл, и Prettier сам всё приводит в порядок.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍11🔥7
В этом посте создадим интерактивный генератор паролей с настройками, динамической оценкой сложности и кнопкой "Скопировать".
В гайде рассмотрим:
• Генерацию паролей с нужными символами.
• Визуальный индикатор надёжности.
• Копирование в буфер.
• Обратную связь по клику.
Подходит для: форм регистрации, личных кабинетов, безопасных интерфейсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍21🔥9❤7🤝7