Проекты на JavaScript
Пятьдесят учебных программ на JavaScript — от первой функции до игр и радиотехнических калькуляторов. У каждого проекта разобраны задача, алгоритм и полный исходник с возможностью скачать .js.
Все примеры — самодостаточные скрипты на чистом JavaScript без внешних зависимостей. Исполняются в браузере (консоль DevTools) и в Node.js командой node файл.js. Каждый проект проверен запуском.
Основы
10Первая программа на JavaScript: функция и шаблонные строки.
JS.02Функция на четыре арифметических действия с защитой от деления на ноль.
JS.03Решение ax²+bx+c=0 через дискриминант.
JS.04Вывод таблицы умножения 9×9 с выравниванием.
JS.05Классическая задача FizzBuzz на числах от 1 до 30.
JS.06Факториал двумя способами: рекурсией и через reduce.
JS.07Генератор последовательности Фибоначчи.
JS.08Наибольший общий делитель и наименьшее общее кратное.
JS.09Перевод числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами.
JS.10Определение палиндрома с учётом пробелов и регистра.
Строки
08Подсчёт количества слов и символов в тексте.
JS.12Переворот строки задом наперёд.
JS.13Подсчёт частоты символов через Map.
JS.14Шифр сдвига для латинских букв.
JS.15Самообратный шифр ROT13.
JS.16Проверка баланса скобок через стек.
JS.17Проверка формата адреса электронной почты регулярным выражением.
JS.18Разбор строки параметров URL в объект.
Алгоритмы
10Учебная сортировка обменом соседних элементов.
JS.20Рекурсивная быстрая сортировка в функциональном стиле.
JS.21Поиск элемента в отсортированном массиве делением пополам.
JS.22Минимум, максимум, среднее и СКО набора чисел.
JS.23Удаление дубликатов через Set.
JS.24Определённый интеграл методом трапеций.
JS.25Поиск корня уравнения методом касательных.
JS.26Моделирование бросков кубика и гистограмма распределения.
JS.27Вычисление выражения в обратной польской записи через стек.
JS.28Решение головоломки о перекладывании дисков рекурсией.
Радиотехника
12Расчёт U, I, R, P по любым двум известным величинам.
JS.30Выходное напряжение и ток резистивного делителя.
JS.31Расчёт токоограничивающего резистора светодиода и ближайшего номинала E24.
JS.32Резонансная частота и волновое сопротивление контура.
JS.33Постоянная времени и частота среза RC-цепочки.
JS.34Ёмкостное и индуктивное сопротивление на частоте.
JS.35Определение цветовых полос резистора по номиналу.
JS.36Расшифровка трёхзначного кода конденсатора.
JS.37Перевод мощности из dBm в мВт, Вт и напряжение на 50 Ом.
JS.38Длина волны по частоте и размеры диполя и штыря.
JS.39Подбор ближайшего стандартного номинала из ряда E24.
JS.40Контрольная сумма CRC-8 (полином 0x07) для строки.
Данные
08Сериализация и разбор объекта через JSON.
JS.42Разбор строк с разделителями в таблицу.
JS.43Хранение и поиск контактов в массиве объектов.
JS.44Динамическая структура данных на классах.
JS.45Реализация стека (LIFO) и очереди (FIFO) на классах.
JS.46BST и обход по возрастанию.
JS.47Печатные символы ASCII с кодами.
JS.48Календарь месяца по году и номеру месяца.