Занимательные задачи JavaScript
789 subscribers
8 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят каждый день в 14.00.
Download Telegram
Задача 262
Пирамидка-столбец

Выведите на экран следующую пирамидку:

111
222
333
444
555
666
777
888
999
2
КУРСЫ по React + Redux + Zustand
занятия в минигруппах

Лектор: Трепачёв Дмитрий, автор сайта code.mu
Расписание: ср, пт в 20.00-20.45 по Москве
Продолжительность: 11 лекций + 1 месяц практика

Для записи на занятия пишите мне в личку:
в личку @trepachev_dmitry

Начало: по набору минигруппы (минимум 3 человека),
но не позже 6-го марта.

Стоимость: 100$ за курс.
при записи до 18-го февраля СКИДКА: 75$ за курс.
возможна оплата в рассрочку несколькими платежами

при записи 12-13 февраля БОНУС:
дополнительный курсы:
1. Курс по TypeScript
2. Курс по React на TypeScript


В рамках курса вы сможете изучить фреймворк React с нуля до нужного для работы уровня, а затем закрепить полученные знания на практике.


Как проходит: на лекциях я буду демонстрировать свой экран и рассказывать теорию. После каждой лекции вы будете получать домашнее задание. Вопросы можно задавать как на лекции, так и в любое время, без ограничений! Если у вас что-то не будет получаться, то я буду подключаться к вашему экрану и помогать на месте.

После окончания курса - практика. Под моим руководством вы сможете реализовать 3 учебных проекта для закрепления навыков. После учебных проектов каждому участнику я выдам еще 2 персональных проекта. Эти проекты будут выложены на хостинг и вы сможете добавить их в портфолио.

---

Программа:

1
Введение в JSX

2
События. Условия

3
Циклы. Стейты. Реактивность.

4
Компоненты.

5
Стилизация.

6,7
Хуки

8
React Router

9,10
Redux

11
Zustand


Бонус:
React на TypeScript
Выкладка React сайта на хостинг
1👍1
Задача 263
Группировка по буквам

Дан массив со словами. Выведите слова, начинающиеся на одинаковые буквы в своем отдельном списке ul. Над каждым списком сделайте h2 с названием буквы, для которой сделан список.
Задача 264
Поиск слова

Дан абзац со словами и инпут. В инпут вводится слово. По клику на кнопку найдите это слово в абзаце и покрасьте его в красный цвет.
Задача 265
Активация ссылки

Дано меню со ссылками. Покрасьте в красный цвет ту ссылку, адрес которой совпадает с URL из адресной строки браузера.
1
Задача 266
Перевернутая пирамидка

Выведите на экран следующую пирамидку:
xxxxx
xxxx
xxx
xx
x
Задача 267
Разложение на два множителя

Дан инпут, кнопка и список ul. В инпут вводится число. По клику на кнопку выведите список всех возможных вариантов разложения числа на два множителя.
Задача 268
Селекты городов и стран

Даны два селекта. В первом селекте выводятся страны. Сделайте так, чтобы во втором селекте выводились города выбранной страны.
Задача 269
Выпадающее меню

Дано меню со ссылками. Сделайте так, чтобы по клику на ссылку меню под ней выпадало подменю.
Задача 270
Закрытие блока

Дан див. У этого дива есть крестик закрытия. Сделайте так, чтобы по клику на крестик, либо на любое место страницы вне дива, этот див прятался.
Задача 271
Строки текста в список

Дан текстареа и ul. В текстареа вводится текст. Сделайте так, чтобы по нажатию Shift + Enter каждая строка текста добавилась в список в виде отдельного тега li.
1
Задача 272
Разбиение в двухмерный

Дан некоторый массив:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Дана переменная:
let n = 3;

Превратите этот массив в двухмерный, по n элементов в подмассиве.
Задача 273
Равные подмассивы

Дан массив:
[
[1, 2, 3, 4, 5],
[1, 2, 3],
[1, 2],
]

Добавьте в каждый подмассив столько пустых строк, чтобы количество элементов в каждом подмассиве стало равно количеству элементов в самом длинном подмассиве.
Задача 274
Перемешивание списка

Дан список ul и кнопка. По нажатию на кнопку перемешайте пункты списка в случайном порядке.
Задача 275
Случайное слово на букву

Дан массив со словами. Получите из этого массива случайное слово, начинающееся на заданную букву.
Задача 276
График на канвасе

Дан массив с точками: [ [1, 2], [2, 4], [3, 8], [4, 16], [5, 32] ]

Отрисуйте эти точки на графике.
Задача 277
Расширение таблицы

Дана таблица. По нажатию на кнопку добавьте в эту таблицу и новый ряд, и новую колонку.
Задача 278
Закрашивание ячейки

Дана таблица и кнопка. По нажатию на кнопку покрасьте в красный цвет случайную ячейку таблицы. Повторное нажатие на кнопку должно закрашивать новую незакрашенную ячейку, пока ячейки не закончатся.
Задача 279
Таблица из массива

Дан массив:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Дан инпут и кнопка. В инпут вводится число. По нажатию на кнопку создайте таблицу, заполненную данными из этого массива, содержащую столько колонок, сколько указано в инпуте.
Задача 280
Форма существительного

Сделайте функцию, которая будет устанавливать правильную форму существительного после числа.

Вот как должна работать эта функция:
func(1, 'яблоко', 'яблока', 'яблок'); // выведет '1 яблоко'
func(2, 'яблоко', 'яблока', 'яблок'); // выведет '2 яблока'
func(3, 'яблоко', 'яблока', 'яблок'); // выведет '3 яблока'
func(4, 'яблоко', 'яблока', 'яблок'); // выведет '4 яблока'
func(5, 'яблоко', 'яблока', 'яблок'); // выведет '5 яблок'

Вот пример для для двухзначных чисел:
func(11, 'яблоко', 'яблока', 'яблок'); // выведет '11 яблок'
func(12, 'яблоко', 'яблока', 'яблок'); // выведет '12 яблок'
func(21, 'яблоко', 'яблока', 'яблок'); // выведет '21 яблоко'
func(23, 'яблоко', 'яблока', 'яблок'); // выведет '23 яблока'

Наша функция должна работать для чисел любой длины:
func(1223421, 'яблоко', 'яблока', 'яблок'); // выведет '1223421 яблоко'
Задача 281
Число прописью

Сделайте функцию, которая будет принимать число, а возвращать это число прописью. Пусть функция работает с числами до 999.

Смотрите пример:
func(123); // выведет 'сто двадцать три'