Reduce это просто. JavaScript

Поделиться
HTML-код
  • Опубликовано: 26 сен 2024
  • код: itgid.info/art...
    Курс JavaScript 2.0: itgid.info/cou...
    Мои курсы: itgid.info/course
    Телеграмм канал: t.me/jsrules
    Reduce это просто!

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

  • @Tengro-y3d
    @Tengro-y3d 3 года назад +8

    напевне краще пояснення, яке я бачив. Спасибі!

    • @ДмитрийНормов-ю6ц
      @ДмитрийНормов-ю6ц 2 года назад

      я б не сказал, что найкраще.
      в последнем примере не понятно, как мы задаем пустой массив в скобках по умолчанию после фигурных.... ведь "index" мы не задавали.

  • @charliebrown5554
    @charliebrown5554 2 года назад +7

    Спасибо за такое подробное и познавательное видео! Как раз решаю задачи по JS и этот метод сильно пригодился)

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

      где решаешь

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

      @@deterkot codewars

    • @thelowfer1016
      @thelowfer1016 7 месяцев назад

      Как в итоге самостоятельно смог научиться Js?

  • @Kestisr
    @Kestisr 7 месяцев назад

    Первый, кто прекрасно это объяснил. До этого я думал, что эта функция слишком сложна. СПАСИБО!

  • @yarik83men51
    @yarik83men51 4 года назад +9

    Спасибо. Вы даже ошибки "профессионально" делаете.

  • @OlesiaMiller-i1d
    @OlesiaMiller-i1d 4 года назад +4

    Спасибо! Всегда немного плавала в использовании этого метода, теперь всё по полочкам разложилось)

  • @evgeniyprowork
    @evgeniyprowork 4 года назад +20

    const arr = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
    ];
    const result = [].concat(...arr);
    console.log(result);

  • @kubiknoobik7856
    @kubiknoobik7856 3 года назад +14

    8:25 - В данном случае (в else) мы обязательно должны возвращать prev. И не для понимания логики, а для того, чтобы в результате не получить undefined))
    А для тех, кто поинтересуется, почему результатом будет именно undefined, а не, например, 4: сравнение underfined на "больше" или "меньше" с чем угодно всегда даёт false)

  • @ВолодимирПриходько-л2л

    Спасибо за урок! Сколько бы не читал за метод reduce, не очень было понятно для чего он и как им правильно пользоваться) а вот теперь уже совсем другое дело! :)

  • @MikhaChe
    @MikhaChe 10 месяцев назад

    Отличные примерчики! Спасибо за материал!

  • @desen94
    @desen94 3 года назад +2

    И добавим замыкание, чтобы не переживать про глубину вложенности)
    const data = [[1, 2, 3, [0, 9, [7, 7,[5,5]]]], [4, 4, 2], 5]
    const flat = (arr) => arr.reduce((prev, item) => {
    if (Array.isArray(item)) return prev.concat(flat(item))
    else return prev.concat(item)
    }, [])
    console.log(flat(data))

  • @Гилфойл-т4я
    @Гилфойл-т4я 2 года назад +1

    Лучшего объяснения я не видел!!!!

  • @MadiyarS-s3n
    @MadiyarS-s3n Год назад

    обязательно лайкос и коммент, браво, так классно объяснили.

  • @glebkabayjanov5646
    @glebkabayjanov5646 4 года назад +1

    Да спасибо Александр как всегда очень качественно объясняете

  • @mishakirichenko7455
    @mishakirichenko7455 3 года назад +1

    Урок топ! Очень полезные приёмы

  • @PIRAKAS666
    @PIRAKAS666 3 года назад

    Браво!
    Лучше всех пояснил.

  • @llssk6379
    @llssk6379 4 года назад +4

    Спасибо, было интересно, особенно с индексом!
    Было бы крута по редьюс еше погонять с примерами посложнее)

  • @i_k0stin
    @i_k0stin 2 года назад

    Спасибо Вам большое! Я наконец нашел нормальное объяснение)

  • @Viktorres1
    @Viktorres1 3 года назад

    Спасибо! Редуке - это довольно просто.

  • @maliksoltukiev5961
    @maliksoltukiev5961 4 года назад +3

    Я тут пару минут попрактиковался, и понял суть метода, даже код написал очень короткий, для нахождение наибольшего значения элемента массива.
    let a = [20, 100, 9, 3, 0, 56]
    let b = a.reduce((s, i) => i > s? i: s)

  • @SvetaSveta-ms4hi
    @SvetaSveta-ms4hi 4 года назад

    Круто! Спасибо большое!👍👍👍

  • @BagaevRoman
    @BagaevRoman 3 года назад

    Супер! Очень нужная штука!

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

    Огромное спасибо 🙏

  • @alexforos5425
    @alexforos5425 2 года назад

    Спасибо! Класс!👍

  • @definitely384
    @definitely384 4 года назад +10

    Хороший урок.
    Может запишите видео о drag and drop html5?

  • @sergeyplotnikov5031
    @sergeyplotnikov5031 3 года назад

    Спасибо большое!

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

    Хорошее объяснение

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

    Музыка в начале видео тревожная как в триллерах..

  • @troubleshooters-6744
    @troubleshooters-6744 4 года назад

    Ну просто, очень молодец!)

  • @ЛосСантос-н9н
    @ЛосСантос-н9н 4 года назад +2

    Александр планируете ли ведио на тему Опросников или Тестов на чистом JS

  • @Sayanbaetov
    @Sayanbaetov 2 года назад

    Спасибо!

  • @Albert_Hall
    @Albert_Hall 3 года назад

    чётко!! 🚀🌍

  • @Smart_Clinic_il
    @Smart_Clinic_il 4 года назад

    Шикарно!

  • @ЧубрикШпендик
    @ЧубрикШпендик Год назад

    Спасибо большое

  • @ЮрийЛеонов-ц3у
    @ЮрийЛеонов-ц3у Год назад

    Грамотно и внятно излагаете. Но всеравно не понятны некоторые моменты)))

  • @modultre
    @modultre 3 года назад

    super , spasibo

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

    Круто

  • @valentinknoll4106
    @valentinknoll4106 4 года назад

    Спасибо.

  • @aigulyermak1635
    @aigulyermak1635 2 года назад

    Спасибо

  • @alexzapminsk9158
    @alexzapminsk9158 3 года назад

    Вкладывание массивов в массивы и передача в аргумент функции , это упрощение кода ???

  • @Tiberiumgod
    @Tiberiumgod 4 года назад

    Не могли б вы сделать видео по деструктуризации в js? И в конце пару задачек задать:)

  • @weTRONer
    @weTRONer 2 года назад

    Часто смотрю ваши видео уроки. Вопрос не по теме не всеже. Как вы делаете, какой hot-keys нажимаете что бы после запятой появились пробелы? Автозаполнение как будто какое то. Спасибо

  • @powerrampage
    @powerrampage 2 года назад +4

    14:35 *data.flat()*

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

      Откуда вы такие берётесь , он и говорит ,что можно многими способами решать , но НАЗВАНИЕ видео reduce поэтому тут все через reduce ...
      Всегда найдутся такие умники,показать себя надо же немного самоутвердиться

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

      @@KrivovNikolay OK, sleduyushchiy raz tak ne budu, glavnoy ty byl schastliv

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

      @@powerrampage ок,спасибо:)

  • @valentinknoll4106
    @valentinknoll4106 4 года назад

    А урок вообще хороший

  • @raff_m_d6971
    @raff_m_d6971 2 года назад

    спасибо

  • @olegBilyi-n4j
    @olegBilyi-n4j 2 года назад

    Дякую

  • @prsion1925
    @prsion1925 3 года назад

    const fruitBasket = ['banana', 'cherry', 'orange', 'apple', 'cherry', 'orange', 'apple', 'banana', 'cherry', 'orange', 'fig' ];
    const count = fruitBasket.reduce( (tally, fruit) => {
    tally[fruit] = (tally[fruit] || 0 ) + 1 ;
    return tally;
    } , {})
    count как это работает объясните пожста

  • @kagerou33
    @kagerou33 4 года назад

    Александр а это что последний ролик в первых шагах??
    Или вы пока просто другое пишете

  • @lexsxebelphegore5677
    @lexsxebelphegore5677 4 года назад +2

    data.flat(Infinity)

    • @4ITTonik
      @4ITTonik 4 года назад

      Я думаю для таких примеров этот метод самый лучший вариант, только вот в случае с вложенными объектами придётся рекурсию писать, благо она не сложная.

  • @perfectionist2518
    @perfectionist2518 2 года назад

    очень непонятен второй пример с использованием reduce

  • @vitmih380
    @vitmih380 4 года назад +2

    Насколько же интуитивно понятней примеры с for(){...}

  • @Game-oz6gg
    @Game-oz6gg 3 года назад

    Метод reduce() применяет функцию reducer к каждому элементу массива (слева-направо), возвращая одно результирующее значение.

  • @ЕвгенийСавельев-в2н
    @ЕвгенийСавельев-в2н 3 года назад +1

    Уважаемый автор видео напишите мне пожалуйста мне бы хотелось с вами обсудить ваши уроки и кое что предложить я думаю вам будет интерестно

    • @itgid
      @itgid  3 года назад

      пишу. Мои контакты все есть под видео - даже ссылка на телеграмм.

  • @naFonke
    @naFonke 6 месяцев назад

    как же сложно

  • @YauhenRomeiko
    @YauhenRomeiko 3 года назад

    клево

  • @apkartas7416
    @apkartas7416 2 года назад

    Спасибо!

  • @КостяАтоженко-з8ъ
    @КостяАтоженко-з8ъ 4 года назад

    А про чисты js будет?

  • @adgulful
    @adgulful 2 года назад

    сайт не открывается из казахстана

    • @itgid
      @itgid  2 года назад

      Ставьте vpn. Значить что трафик идет через рф, а они банят все подряд.

  • @Wunderwaffe2333
    @Wunderwaffe2333 4 года назад

    supa

  • @НавиТарам
    @НавиТарам 2 года назад

    для начинаюшех трудновата понять

  • @MugivaraLuffy
    @MugivaraLuffy 3 года назад

    Спасибо! Но этот сум меня добил. Сум, и... И так далее. Ну можно же говорить так, что бы хоть уходе не резали. Вы же не говорите редусэ. Вы говорите редьюс. Почему не говорить сам, а не сум. И так далее.
    За урок спасибо ещё раз.

  • @romankostiuk
    @romankostiuk 4 года назад

    Спешишю от того и ошибки делаеш:)

  • @alexandrcorbin
    @alexandrcorbin 4 года назад

    Александр, закажите уже нормальную заставкц и музыку к ней. То что у вас отвратительно просто.

    • @ПанОлеже
      @ПанОлеже 4 года назад +1

      @Dr Zen Это вообще не важно

  • @nikitatundra5633
    @nikitatundra5633 4 года назад +1

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

    • @vitaliyyasinskiy3689
      @vitaliyyasinskiy3689 3 года назад

      удачи

    • @arhim7650
      @arhim7650 3 года назад +1

      видали таких теоретиков, которые по 3 года учат теорию, а когда дают реальный проект, не знают что с ним делать, от слова совсем. Выучил базу, или документацию, и погнал писать код, только так и никак иначе.

    • @nikitatundra5633
      @nikitatundra5633 3 года назад

      @@arhim7650 Видали практиков) Которые по наитию понапишут на проекте, а потом это все рефакторить ) Главное спрашиваешь почему так, а не иначе, а в ответ выражение лица как у козы )))

    • @vitaliyyasinskiy3689
      @vitaliyyasinskiy3689 3 года назад

      @@nikitatundra5633 просто во время практики нужно продолжать учить теорию

    • @arhim7650
      @arhim7650 3 года назад

      @@nikitatundra5633 практик хоть писать умеет

  • @buggs4825
    @buggs4825 4 года назад

    Всё норм, но почему вы очень криво пишите код, на это больно смотреть. Неужели так сложно соблюдать пробелы, отступы. И ещё sum = sum + a[i] серьёзно!!? ну давайте напишите ещё i = i + 1, пишем код в стандарте es1👍

    • @MaxLimas
      @MaxLimas 4 года назад +1

      Разве в данном случае это мешает? Или это не позволяет воспринимать информацию?

    • @buggs4825
      @buggs4825 4 года назад

      хз, лично меня эти факторы напрягают и я теряю доверие к таким челам-учителям

    • @kevinsupport3364
      @kevinsupport3364 3 года назад

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

  • @АлмазЗалялов-л3э
    @АлмазЗалялов-л3э 2 года назад

    Вот этот финт ушами с массивом в параметре - это труднее понять , чем вот это:
    Индекс самого большого элемента в массиве:
    console.log(myNumbersArray.reduce((element, accumulator) => {
    return myNumbersArray.indexOf(element > accumulator ? element : accumulator);
    }));
    Не? Так не читабельнее?

  • @Инкогнито-у7ф
    @Инкогнито-у7ф 4 года назад

    Спасибо!

  • @Jake-mo5mb
    @Jake-mo5mb 4 года назад

    Почему не используешь так: for(var i in a)?

    • @defalt6322
      @defalt6322 4 года назад

      @@danilsergeev6299 для массивов и структур типа set используется цикл for of

    • @defalt6322
      @defalt6322 4 года назад

      @@danilsergeev6299 для map тоже конечно же

    • @buggs4825
      @buggs4825 4 года назад

      она больше применяется к объектам, с массивами может работать не так как нужно