В интерфейсах с формами важно проверять данные сразу при вводе. Сегодня покажем, как сделать универсальную функцию валидации, которая работает с любыми полями и правилами.
В этой задаче:
• Создадим объект правил для каждого поля формы.
• Применим проверки динамически к введённым данным.
• Соберём ошибки и покажем пользователю только реальные проблемы.
• Сделаем код универсальным и легко расширяемым.
Конечный результат — готовая функция, которую можно подключить к любой форме и мгновенно отслеживать корректность данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤6🔥5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤7👍5
В этом посте мы разберём, как движок ищет свойства и методы через цепочку прототипов. Напишем своё прототипное наследование и посмотрим, как классы упрощают работу с объектами.
Сегодня рассмотрим:
• Свойство proto — прямое соединение объектов.
• .prototype у функций — источник наследуемых методов.
• Реализация наследования вручную — создание цепочек объектов.
• Классы — синтаксический сахар над прототипами.
В результате вы сможете оптимально строить объекты и наследование в своих проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤6👍6🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
CodeHS (practice) — это бесплатный тренажёр по JavaScript и другим языкам прямо в браузере. Короткие задачи с автопроверкой помогают закрепить синтаксис, подтянуть алгоритмы и подготовиться к собеседованиям.
📌 Оставляю ссылочку: codehs.com
📣 JS Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍7🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍8❤5
👍16❤6🔥5
Удаляем дубликаты из массива, но сохраняем порядок!
Когда обрабатываешь списки из внешних источников (например, e-mail'ы, id-шники, URL'ы) — дубликаты нужно убрать, но порядок важен.
Простое
Используем
Теперь
Оборачиваем в функцию для переиспользования:
Можно применить к любым массивам:
🔥 Дубликаты примитивных значений удалены, исходный порядок сохранён — решение нативное и компактное.
📣 JS Ready | #практика
Когда обрабатываешь списки из внешних источников (например, e-mail'ы, id-шники, URL'ы) — дубликаты нужно убрать, но порядок важен.
Простое
new Set() не подойдёт — оно сохранит порядок, но не всегда удобно для сложной логики.Используем
Map — она сохраняет порядок добавления ключей:const items = ["a","b","a","c","b"];
const unique = [...new Map(items.map(i => [i,i])).keys()];
Теперь
unique будет ['a','b','c'] — в том же порядке, что в исходном массиве.Оборачиваем в функцию для переиспользования:
function removeDuplicates(arr){
return [...new Map(arr.map(i=>[i,i])).keys()];
}Можно применить к любым массивам:
const emails = ["a@mail.com","b@mail.com","a@mail.com"];
console.log(removeDuplicates(emails));
🔥 Дубликаты примитивных значений удалены, исходный порядок сохранён — решение нативное и компактное.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍6❤5🤝1
CLI-таймер с возможностью ставить на паузу и возобновлять помогает моделировать реальные задачи с перерывами: от рабочих спринтов до тестирования нагрузок.
В этом посте:
• Реализуем таймер с отсчётом в секундах.
• Добавим команды pause, resume и stop.
• Научим отображать прогресс в консоли.
• Сделаем логику универсальной для любых интервалов.
В итоге получим консольный инструмент, который можно использовать и как тренировочный проект, и как базу для реальных приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤7👍7🤝2