JavaScript - создаем динамический поиск (используем события js, fetch, map, filter, forEach, regex)

Поделиться
HTML-код
  • Опубликовано: 27 дек 2022
  • В этом видео мы создадим форму динамического поиска станций московского метро, используя "ванильный" JavaScript.
    Мы будем работать с DOM элементами на странице, получать данные из удаленного API с помощью fetch, а также фильтровать данные с помощью regex.
    В рамках проекта мы также будем использовать различные методы JS, включая: map, filter, forEach.
    Файлы для начала работы: t.me/stackdevru/64
    Мои Курсы:
    React для начинающих: react001.ru
    JavaScript для начинающих: js001.ru
    ​Все мои курсы (+ исходные файлы): stackdev.ru
    Подписывайся на соц сети:
    Telegram: t.me/stackdevru
    VK: vasilymur
    Instagram: / vm_online
    Мой блог о веб-разработке: stackdev.blog

Комментарии • 26

  • @user-nb1is5wc4k
    @user-nb1is5wc4k Год назад +6

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

    • @stackdev
      @stackdev  Год назад +1

      Спасибо за поддержку!

  • @sno-oze
    @sno-oze Год назад +10

    Как говорят: если пытаетесь решить проблему регуляркой, значит у вас теперь 2 проблемы - это регулярка и ваша проблема.
    По сути, можно и обычными includes и toLowerCase() решить, НО, в рамках обучения, можно и regex.
    Like!

    • @user-ql4xu5qu2u
      @user-ql4xu5qu2u 6 месяцев назад

      Регулярки огонь, если их знать. Если слабо знаешь, то действительно, это больше проблема

  • @mikhail_one
    @mikhail_one Год назад +7

    Что бы стразу же получать данные из поля ввода можно повесить на него input.addEventListener('input', (e)=>{
    //ваш код
    })

  • @GamingTest
    @GamingTest Год назад +1

    Вернулся!

  • @user-ih9ir5ir2x
    @user-ih9ir5ir2x Год назад +1

    Спасибо

  • @ooldstar
    @ooldstar Год назад +1

    Ура!

  • @s.v.buldakov7396
    @s.v.buldakov7396 Год назад +1

    💥💥💥

  • @Expertdog
    @Expertdog Год назад +2

    Интересное и полезное видео. Благодарю за труд! Только вопрос: api со станциями метро сами делали или есть готовое решение? Like!!!

    • @stackdev
      @stackdev  Год назад

      Спасибо! Есть несколько опубликованных апи со станциями...

  • @user-nd4sl1lp9b
    @user-nd4sl1lp9b 10 дней назад

    А можно ли добится подобного функционала если писать в старом стандарте es5?

  • @nhrafun
    @nhrafun Год назад +4

    Странно, что преподаёте фетч, но ловить ошибки не учите. По вашей ссылке на json - 404. Странно, что еще нет вопросов, типа "все как в видео делаю, а станции не получаю". Всегда нужно проверять респонс (if(!response.ok)). И естественно .catch((error) => )...

    • @valentinknoll4106
      @valentinknoll4106 3 месяца назад

      Да, надо catch тоже использовать! Но не в этом дело, автор показывает одно из решений этой задачи. А остальное все мелочи, можно самому добавить что хочете, github, SQL Server, итп....

  • @AnatolyGradovoy
    @AnatolyGradovoy Год назад +1

    лови лайкосик

  • @mike-aaa
    @mike-aaa Год назад +2

    Хм.... странно... проделать ВСЮ работу в функции и потом проверить на нужность!
    А еще в подмене нужно использовать $&, а не введеное значание, иначе регистры сломаются
    text.replace(regExp, '$&')

  • @valentinknoll4106
    @valentinknoll4106 3 месяца назад

    👍

  • @user-zf7cd4yv4g
    @user-zf7cd4yv4g Год назад

    Здравствуйте, подскажите почему при замене в 39строке стрелочной функции station => на обычную -function(station) код падает? (перестает корректно выделять буквы). Как вообще правильно здесь будет заменить стрелочную на function?

    • @nhrafun
      @nhrafun Год назад +1

      Нужно курить документацию по JS, конкретно раздел "this у стрелочных функций"

  • @user-ql4xu5qu2u
    @user-ql4xu5qu2u 6 месяцев назад

    А зачем фраг g? Если есть одно совпадение в названии, то этого уже достаточно

  • @dictordozel
    @dictordozel Год назад +1

    Еще можно через startsWith решить

    • @WockeezChannel
      @WockeezChannel 9 месяцев назад

      startsWith будет искать по началу строки, а регулярки по всем буквам

  • @user-ql4xu5qu2u
    @user-ql4xu5qu2u 6 месяцев назад

    Ахахах, почему match, если совпадение затем нигде не используется? Тогда test() достаточно, match очень сильно грузит проц на нормальном объеме (не учебном)

  • @Andrejj14
    @Andrejj14 Год назад +1

    странные решение) Сложно, о простом)

    • @botsynth
      @botsynth 2 месяца назад

      а как проще?

  • @user-ek9mp1nw5s
    @user-ek9mp1nw5s 9 месяцев назад

    Зачем же так усложнять 😂