Изучайте современный JavaScript с нами совершенно бесплатно!

С чего начать программисту.

Решенные задания

ES6 вводит оператор спреда , который позволяет нам расширять массивы и другие выражения в местах, где ожидаются несколько параметров или элементов. В приведенном ниже коде ES5 применяется apply() для вычисления максимального значения в массиве:

var arr = [6, 89, 3, 45];
var maximus = Math.max.apply (null, arr); // возвращает 89
Нам пришлось использовать Math.max.apply(null, arr) потому что Math.max(arr) возвращает NaN . Math.max() ожидает аргументы, разделенные запятыми, но не массив. Оператор распространения делает этот синтаксис намного лучше для чтения и обслуживания.
const arr = [6, 89, 3, 45];
const maximus = Math.max (... arr); // возвращает 89
...arr возвращает распакованный массив. Другими словами, он расширяет массив. Однако оператор расширения работает только на месте, например, в аргументе функции или в литерале массива. Следующий код не будет работать:
const spreaded = ... arr; // выдает синтаксическую ошибку


Скопируйте все содержимое arr1 в другой массив arr2 используя оператор спреда.


Задачи где нужна помощь

  1. Статус
    Задача
    Дата создания
    Планируемая дата начала
    Планируемая дата выполнения
    Дата начала
    Дата выполнения
    Постановщик
    Кто работает
  2. Выполняется

    Задача: Перенести страницы и настроить роутинг 2 Нужна помощь

    Проект: Учебный проект на next-js. Покемоны.

    Перенести оставшиеся страницы на NextJs:

    1. Перенести стили из css в styled-components
    2. Пофикстить Typescript ошибки
    3. Пофиксить подключение к firebase

    17 февр. 2021 г., 18:04
    17 февр. 2021 г., 0:00
    21 февр. 2021 г., 0:00
    17 февр. 2021 г., 0:00
  3. Новая

    Задача: В профиле пользователя поправить сортировку технологий по названию Нужна помощь

    Проект: freecode.academy

    Требуемые технологии

    React (3), GraphQL (2)
    16 февр. 2021 г., 22:58
    20 февр. 2021 г., 0:00
  4. Новая

    Задача: Добавить в топиках фильтр по названию и/или содержимому Нужна помощь

    Проект: freecode.academy

    Ранее были более мощные фильтры, но сейчас надо добавить хотя бы основные.

    Вот здесь прописаны текущие фильтры для топиков: https://github.com/freecode-academy/freecode.academy/blob/818c3b44a3b2d4006889a32b6d1d404930e0b92f/src/pages/Topics/index.tsx#L24-L50

    Сюда надо прописать возможность передавать и другие фильтры, как то Название, Содержимое и т.п. (сейчас хотя бы поиск по названию и/или содержимому).
    Пример того, как это работало на старой версии сайта: https://old.prisma-cms.com/topics/?filters=%7B%22contentText_contains%22%3A%22next-js%22%7D

    Следует обратить внимание, что изменение значений в фильтре (UI) вызывает изменение УРЛ страницы, а параметры для API-запроса берутся именно из УРЛа страницы. Надо сделать сдесь так же (то есть заюзать useRouter и router.replace(newUri)).

    Требуемые технологии

    React (3), GraphQL (3), Apollo-Client (3), Styled-Components (3)
    16 февр. 2021 г., 17:18
    19 февр. 2021 г., 0:00
    20 февр. 2021 г., 0:00

Все задачи где нужна помощь

Новые Комментарии

Вот этим коммитом только получилось решить: https://github.com/MODX-Club/modx-next-manager/commit/6941f32250554d189608c03881bc64443e32f6cc

Next-js перебивает пути __dirname и require.resolve(), из-за чего бьется схема nexus. Пришлось использовать process.cwd()
Так как vercel.com не умеет устанавливать кукисы (отсутствует метод res.cookie), реализовал простенькое хранилище для кукисов по токену. То есть с клиента теперь кукис может и не слаться, а только токен, и будет работать, если для токена кукис есть в хранилище.

Оказывается версел немеет метода установки кукисов. Вот все методы: https://vercel.com/docs/runtimes#official-runtimes/node-js/node-js-request-and-response-objects

Кукисы можно прочитать входящие, но нельзя установить новые.

Все комментарии