Array Methods: map, reduce, filter, forEach | JavaScript Array Methods

Поділитися
Вставка
  • Опубліковано 22 гру 2024

КОМЕНТАРІ • 125

  • @frontendscience
    @frontendscience  3 роки тому

    ⚠️ Не забывайте подписываться на наш Канал, у нас здесь каждую неделю свежие полезные видео по фронтенду - ua-cam.com/channels/mI5YBB9KJ0xLtFtgBX8rfw.html ❗️😉

  • @digital_nomad_spain
    @digital_nomad_spain 3 роки тому +55

    тот случай, когда оплаченные курсы преподносят материал в такой сложной форме, что бежишь на ютуб, а здесь бесплатно такие прекрасные видосики - короткие, но емкие и понятные. спасибо большое!

    • @frontendscience
      @frontendscience  3 роки тому +2

      Рад, что было полезно! :) Заходите почаще)

    • @МатвейБеликов-ц2б
      @МатвейБеликов-ц2б 2 роки тому

      А на каком ресурсе курсы проходишь?

    • @digital_nomad_spain
      @digital_nomad_spain 2 роки тому

      @@МатвейБеликов-ц2б в комментарии имела в виду нетологию, которые мне не понравились. хорошо зашли курсы Ивана Петриченко на юдеми и IT-Camasutra Димыча здесь на ютубе

    • @МатвейБеликов-ц2б
      @МатвейБеликов-ц2б 2 роки тому

      @@digital_nomad_spain я их как раз и прохожу ;)

  • @fanfar9778
    @fanfar9778 2 роки тому +1

    Дякую за коротке та інформативне відео

  • @АлександрМайстр

    Серій дякую. Вас завжди приємно слухати. Гарна подача матеріалу як завжди!

  • @timsanbakr6517
    @timsanbakr6517 2 роки тому +1

    Такая подача , все понятно сразу. Всех благ вам.

  • @redconfizbl1281
    @redconfizbl1281 Рік тому

    после прочтения главы в книге долго путалося, спасибо за подробное объяснение. стало все понятно)

  • @Achieve_Zenith
    @Achieve_Zenith Рік тому

    Шикарная подача, коротко и ясно. Обожаю ваш контент

  • @yurakirichenko9770
    @yurakirichenko9770 3 роки тому +8

    5 из 5. Несколько раз перечитал в книге эти методы, но здесь кратко, доступно и понятно человек объяснил. Спасибо большое!!!

    • @frontendscience
      @frontendscience  3 роки тому

      Благодарю! Рад что было полезно!

    • @borisgrejcha7263
      @borisgrejcha7263 3 роки тому

      как книга называется если не секрет?

  • @w3k5ik
    @w3k5ik 3 роки тому +9

    8:30 По умолчанию в данном кейсе не нулю равен аккумулятор, а первом значению в итеррируемом массиве.

    • @frontendscience
      @frontendscience  3 роки тому +2

      Да все верно! В этом видео для упрощения, не стал разбирать этот edge кейс. На следующем же стриме, где мы с нуля писали все эти методы (свои реализации) уже подробно рассказал про кейс - без дефолтного значения.

    • @borisgrejcha7263
      @borisgrejcha7263 3 роки тому

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

  • @ruslangilyazov7733
    @ruslangilyazov7733 Рік тому

    Cпасибо за видео! Хотелось бы видео про реализацию этих методов!!

  • @nataliavardazaryan3981
    @nataliavardazaryan3981 3 роки тому +1

    Я в восторге от контента :) на канале есть все нужное новичку

    • @frontendscience
      @frontendscience  3 роки тому

      Рады слышать! Если будут пожелания - пишите в комментариях, мы откликаемся на просьбы наших подписчиков :)

  • @serhiilytvyn8753
    @serhiilytvyn8753 3 роки тому +12

    Было бы интересно посмотреть Вашу реализацию методов. Спасибо за полезные видео!

    • @frontendscience
      @frontendscience  3 роки тому

      Приятного просмотра! :)
      ua-cam.com/video/HA8f49Cjkoo/v-deo.html

  • @kaspersky__13
    @kaspersky__13 Рік тому +1

    Побольше бы таких видео! Очень хорошо объяснили! Но хотелось бы узнать, где в пишете код?

  • @ЖанибекСундетов-о9д

    Пока самый лучший канал по фронту который я видел!
    Почему я раньше вас не нашел)

  • @Stas-ir3gh
    @Stas-ir3gh Рік тому

    Спасибо, качественно объяснил

  • @ОльгаЗолотарёва-г6з

    Спасибо большое за такое простое объяснение!!!! 🙂

  • @ДеткиеНочники
    @ДеткиеНочники 3 роки тому +10

    Спасибо за видос! Насчет самостоятельного написания методов, было бы полезно посмотреть как это реализовать самостоятельно

    • @frontendscience
      @frontendscience  3 роки тому +1

      Благодарим за поддержку! Сделаем!

    • @TheProfessionalGambler
      @TheProfessionalGambler 3 роки тому +2

      кастомная функция фильтр:
      const filter = (arr, callback) => {
      const result = []
      for (let i = 0; i < arr.length; i++) {
      if (callback(arr[i], i, arr)) {
      result.push(arr[i])
      }
      }
      return result
      }
      кастомный метод прототипа:
      Array.prototype.customFilter = function (callback) {
      const result = []
      for (let i = 0; i typeof item === 'number'
      const newArray = filter(arr, isNumber)
      const customArray = arr.customFilter(isNumber)
      const evenArray = arr.customFilter((_, index) => index % 2 === 0)
      console.log({newArray, customArray, evenArray})
      Здесь без контекста и проверок аргументов, думаю Серега покажет лучше. Это на коленке набросал)

  • @petarthecodehunter3333
    @petarthecodehunter3333 2 роки тому

    Спасибо! Лучшее объяснение от методу reduce()

  • @akylbekbaizakov
    @akylbekbaizakov 10 місяців тому

    Спасибо за видео!

  • @polka-a
    @polka-a Рік тому

    Спасибо, наконец то поняла 💕

  • @____Olga__
    @____Olga__ 3 роки тому +1

    Cвоя реализация методов , спрашиваете ещё, конечно интересно. Ждём с нетерпением , когда покажете)

    • @frontendscience
      @frontendscience  3 роки тому

      Обязательно сделаем. Может даже разберем на ближайшем субботнем. live-stream.

  • @leoclu8939
    @leoclu8939 2 роки тому

    спасибо за работу

  • @vahe.hayrapetyan
    @vahe.hayrapetyan 2 роки тому +1

    Очень хорошо объяснил! Спасибо за видеокурс)

  • @andreyshek1490
    @andreyshek1490 2 роки тому

    Классно объясняет! Подписка оформлена🙏👍

  • @romanprokopets3693
    @romanprokopets3693 3 роки тому +2

    спасибо, освежил в памяти) хотелось бы больше подобных видео

    • @frontendscience
      @frontendscience  3 роки тому

      Благодарю за поддержку. Будет)

  • @vladimirpuzey713
    @vladimirpuzey713 3 роки тому +6

    Отличное видео! Но хотелось бы больше интересных, не типичных примеров использования методов массивов! Спасибо за контент!

    • @frontendscience
      @frontendscience  3 роки тому +1

      Рад ,что понравилось! Разберем в следующих видео.

    • @kaspersky__13
      @kaspersky__13 Рік тому

      ​@@frontendscience можете сказать, название вашего редактор кода?

  • @awenn2015
    @awenn2015 2 роки тому

    Все кроме reduce уже давно использую, теперь буду пробовать редьюс, у него большой потенциал

  • @АнтонСтрока
    @АнтонСтрока 3 роки тому +2

    Конечно интересно.

  • @lTanTea
    @lTanTea 2 роки тому +3

    8:30 а разве по умолчанию аккумулятор не равен первому эллементу массива, если мы не указывали ноль в условии?

    • @frontendscience
      @frontendscience  2 роки тому

      Да так и есть. Для простоты объяснения в этом видео я упростил эту часть. В следующем видео где мы делали свою реализацию методов я подробно остановился на дефолтном значении и варианте когда оно не задано

  • @ИльяПанин-и3л
    @ИльяПанин-и3л 3 роки тому +3

    Полезно!
    Спасибо)

  • @serverizedinov7942
    @serverizedinov7942 3 роки тому +1

    Спасибо! Полезное видео.

  • @РУСЛАНОРАСБАЕВ-т1и

    Просто и максимально быстро)

  • @mila4308
    @mila4308 3 роки тому +1

    замечательный канал, отличное видео, спасибо!

    • @frontendscience
      @frontendscience  3 роки тому

      Спасибо большое! Рады стараться

  • @chou_mlbb_ru
    @chou_mlbb_ru Рік тому

    спасибо очен полезный видео

  • @ArtiCHEs
    @ArtiCHEs 3 роки тому

    Огромное, человеческое спасибо!

  • @____Olga__
    @____Olga__ 3 роки тому

    заждались реализации методов по своему, хотя три года ещё не прошло , конечно, продолжаем ожидать ;)

  • @chikichik4164
    @chikichik4164 2 роки тому

    Спасибо, доступно очень объяснили!)

  • @mtb-love-belarus
    @mtb-love-belarus 3 роки тому

    Огонь, спасибо!

  • @maratiot
    @maratiot 2 роки тому

    Видео крутое! снимайте видео чаще для новичков!

  • @multiply87
    @multiply87 3 роки тому +1

    Кстати, неоднократно слушал о том, что невозможно прервать forEach и иже с ними, но можно. Просто выбросить ошибку(throw). Такой кейс был у меня, но очень давно. Возможно что-то изменилось. В любом случае спасибо, ибо нужно уметь не только кодить, но и уметь научить. Я как-раз занимаюсь подобным для новичков в пределах моей работы)

    • @frontendscience
      @frontendscience  3 роки тому +1

      Это ситуация из разряда "почему все говорят, что нельзя микроскопом забивать гвозди? у меня вот получилось...". Так можно и выдернуть комп из розетки чтобы прервать forEach :) задача ведь не только прервать, а дальше продолжить выполнение. С эксепшеном все будет сложнее - чтобы не прерывать дальше код прийдется оборачивать все в try/catch. Короче говоря - гвозди и микроскоп! :) Если иметь целью писать хороший код - это не гуд практика.
      Ценю твою активность и целеустремленность! Нравится, что ты так глубоко стараешься во всем разобраться. И правильно, что уже учишь! Так все полируется и структурируется еще лучше.

  • @РоманГирич-з5ш
    @РоманГирич-з5ш 2 роки тому

    еще раз спасибо

  • @metterandroid
    @metterandroid 2 роки тому

    Спасибо, было полезно)

  • @olexandrkozirskiy6917
    @olexandrkozirskiy6917 Рік тому +1

    23,04,2023 😎

  • @viktoriakrasiuk2000
    @viktoriakrasiuk2000 3 роки тому +7

    Хотелось бы видео с более сложными примерамм использования метода reduce

  • @AndreiD-f7s
    @AndreiD-f7s 3 роки тому +1

    Там если не ошибаюсь небольшая ошибка с reduce. Если не передавать второй аргумент, то acc будет сразу не 0, а первым элементом массива, т е 1, и итерация начнётся с второго элемента, т е еlem === 2

    • @frontendscience
      @frontendscience  3 роки тому

      Это не ошибка, а сжатое изложение темы) В этом видео для простоты объяснения мы не разбирали эдж-кейсы (когда отсутствуют начальные значения). У нас на канале есть отдельное длинное видео, где мы делали свою реализацию всех этих методов уже с учетом эдж-кейсов и там уже подробно разбирали эту тему.

  • @ВоваШпилевой-в5ж
    @ВоваШпилевой-в5ж 2 роки тому +1

    красава не плохо

  • @borysmarder2511
    @borysmarder2511 3 роки тому +5

    Тут есть ошибка. Если не задано начальное значение аккумулятора в .reduce то в колбек на первой итерации попадут 0-й и 1-й элементы массива, т.е. функция будет вызвана на один раз меньше чем длина массива.

    • @frontendscience
      @frontendscience  3 роки тому +1

      Там нет ошибки. Я объяснял базовый принцип работы алгоритма метода, без вдавания в подробности на эдж кейсах. Конечный результат работы метода будет именно тот, что нам нужен. Каждый из этих методов (в особенности reduce) имеет массу нюансов и заслуживает отдельного видео - в том числе и про внутреннюю реализацию. Что я и предлагал в видео.

  • @Alex-scc
    @Alex-scc 3 роки тому +1

    круто рассказываешь, было бы круто больше примеров из реала добавить, так-то сложно понять зачем нужно суммировать значения массива, хотя, раз отдельный метод для этого сделали видимо это частая задача, но вот мне не особо понятно в какой ситуации это могло бы пригодиться

    • @frontendscience
      @frontendscience  3 роки тому

      Благодарю! Рад что понравилось! По поводу суммирования содержимого массива вариантов масса - например посчитать сумму заказа в корзине, или просуммировать и вывести итого в списке выплат сотрудникам. Вариантов - тьма :)

  • @MrColins710
    @MrColins710 3 роки тому +2

    top!

  • @ДенисДоровских-я2с
    @ДенисДоровских-я2с 3 роки тому +2

    да было бы супер, если напишите реализацию данных методов!!

    • @frontendscience
      @frontendscience  3 роки тому

      Уже есть :) Вот запись стрима: ua-cam.com/video/HA8f49Cjkoo/v-deo.html

  • @yv4194
    @yv4194 3 роки тому

    @
    Front-end Science with Sergey Puzankov а что за extension под vscode для распознания типа переменной? авто тайп скирт

    • @frontendscience
      @frontendscience  3 роки тому

      Даже не знаю, что ответить. Я никаких дополнительных экстеншинов не ставил, это все шло из коробки

  • @Nevskij111
    @Nevskij111 Рік тому

    как так смотреть результаты в редакторе подскажите?

  • @АлександрБолдырев-п7ц

    Как то даже писал собственную реализацию. Но было бы интересно посмотреть как делают это другие.

    • @frontendscience
      @frontendscience  3 роки тому

      Приятного просмотра: ua-cam.com/video/HA8f49Cjkoo/v-deo.html

  • @user-san-chous
    @user-san-chous 3 роки тому +1

    человек, который отнимет часть ниши в Александра Лущенко))

  • @inokentiyMay
    @inokentiyMay 2 роки тому

    Класно

  • @ОлександрКарась-в1и

    Подскажите пожалуйста, как так получилось что расширения файла .js но Вы используете typescript (указываете типы для аргументов функции)?

    • @frontendscience
      @frontendscience  3 роки тому

      Я не использовал там тайпскрипт, это новая фича от вебшторм - он анализирует код и сам показывает типы.

    • @ОлександрКарась-в1и
      @ОлександрКарась-в1и 3 роки тому

      @@frontendscience Понял, спасибо за ответ.

  • @d_r_robot
    @d_r_robot 3 роки тому

    Кстати да, как написать свою реализацию метода map, filter и прочее?

    • @frontendscience
      @frontendscience  3 роки тому +2

      Уже прошел стрим. Приятного просмотра!
      ua-cam.com/video/HA8f49Cjkoo/v-deo.html

    • @d_r_robot
      @d_r_robot 3 роки тому

      @@frontendscience да, посмотрел, благодарю. Максимально полезно, буду пересматривать, засыпался на собесе как раз на полифиле метода map.

    • @frontendscience
      @frontendscience  3 роки тому

      @@d_r_robot да, это частый вопрос на собесах. Желаю больших успехов! И классного оффера!

  • @arturnevesomov8300
    @arturnevesomov8300 3 роки тому

    Здравствуйте! Какой шрифт используете в редакторе кода?

  • @umarjuraev1624
    @umarjuraev1624 3 роки тому +1

    spasibo

  • @user_emodzithroll3553
    @user_emodzithroll3553 3 роки тому

    Все они используются для циклов. А в чем разница между ними?

    • @frontendscience
      @frontendscience  3 роки тому +1

      Предлагаю посмотреть видео :) а то аж обидно, как бы целый видос про это

  • @angular-developer-e1t
    @angular-developer-e1t 3 роки тому

    Да интересно, только у array 31 метод.

  • @kostyapanov5070
    @kostyapanov5070 11 місяців тому

    как называется тема?

  • @roxone314
    @roxone314 3 роки тому

    вызываем нашу функцию редьюсе))

  • @igormuryy5722
    @igormuryy5722 3 роки тому +6

    Сделайте минипроект онлайн

    • @frontendscience
      @frontendscience  3 роки тому

      В планах :) Stay tuned.

    • @Davidovich_aka_smoozydrinker
      @Davidovich_aka_smoozydrinker 3 роки тому +1

      @@frontendscience только НЕ на 4 часа видео, пожалуйста, а как "ulbi tv" пилит, ускоряя верстку и рутину, вырезая паузы в видео при монтаже. Спасибо.

  • @Valery_150
    @Valery_150 3 роки тому +1

    Да круто было бы

    • @frontendscience
      @frontendscience  3 роки тому

      Приятного просмотра: ua-cam.com/video/HA8f49Cjkoo/v-deo.html

    • @Valery_150
      @Valery_150 3 роки тому

      @@frontendscience спасибо)

  • @mentalist_tema
    @mentalist_tema 3 роки тому

    Очень хочу видео реализации методов

    • @frontendscience
      @frontendscience  3 роки тому

      Приятного просмотра! :)
      ua-cam.com/video/HA8f49Cjkoo/v-deo.html

  • @FrankyyBalboa
    @FrankyyBalboa 2 роки тому

    Не понятно как работает reduce.

  • @bitmainuser4028
    @bitmainuser4028 3 роки тому

    Всё хорошо, но давай уже современным синтаксисом пиши, динозавр)

    • @frontendscience
      @frontendscience  3 роки тому

      Все хорошо, меня устраивает то, как я пишу, Дартаньян.

  • @ВасилийВатман
    @ВасилийВатман Рік тому +1

    Дуже корисний контент! З Днем незалженості України!

    • @frontendscience
      @frontendscience  Рік тому

      З Днем незалежності України!

  • @alexblack43
    @alexblack43 2 роки тому

    Зачем нужны эти методы, если существует универсальный for, который прекрасно справляется с любой из поставленных задач?

    • @frontendscience
      @frontendscience  2 роки тому +1

      Предлагаю посмотреть видео и все станет ясно ;)