Press "Enter" to skip to content

Recursion — Part 7 of Functional Programming in JavaScript


привет в этом видео мы собираемся
узнайте о научных исследованиях, которые мы собираемся
узнать о том, что рекурсия как сделать
это и почему полезно, чтобы это видео было
также часть серии вы получите много
больше из этого видео, если у вас есть
смотрел предыдущие эпизоды в этом
серия первых вы можете найти их там так
Рекурсивная рекурсия — это когда
функция вызывает себя, пока
что серьезно все рекурсия
Рекурсия — это когда функция вызывает
до тех пор, пока многие люди не подумают
рекурсия тяжелая и причина, по которой
люди считают, что рекурсия тяжелая
что из- за какого-то коллективного безумия
все объяснения рекурсии на
Интернет использует номера Фибоначчи как
Например, единственная причина и отсутствие
математик слышал бы о
Числа Фибоначчи — это если они
смотрел телесериал, когда
кто-то пытается объяснить рекурсию
вы используете номера Фибоначчи, вы должны
убить их, я знаю, что звучит грубо
потому что они могут быть вашим другом
и они только означают хорошо, но
они должны умереть, позвольте мне обратить ваше внимание
к коду, который мы собираемся реализовать
эта карта отсчитывается от нее вниз
в этом случае мы рассчитываем с 10
поиск должен только выводить 10 9 8 и
тогда и так до
одна остановка мы собираемся реализовать это
используя рекурсию, я собираюсь начать с
объявление функции позволяет обратный отсчет
от исправить наш член, и есть
функция это ECMO скрипт шесть вы
может наблюдать это от ближайшего
будущее, где это совершенно нормально
к вам в текущее время у меня были некоторые
запросы аудитории, чтобы писать вещи в
coma script 5 вместо этого нормально слушаю
потому что я люблю тебя
парни
но потому что я люблю тебя, ребята, я не буду
слушать этого, потому что я люблю тебя я
хочу надавить на тебя, чтобы стать лучше
это одна из ситуаций, когда я не пойду
легкий для вас Экхардский сценарий 6 был
завершена уже более года, теперь пора
попасть в его действительно просто, если вы
просто используйте bobble и gab, установленный g4
лифтовая музыка oh boo boo boo boo boo
Boop сделал очистку, и теперь вы можете запускать
пример ужасного узла — это то, что
не выходит из Дункана, позволь мне так долго
это моя стандартная строка для вывода результатов
это снова, и нам нужно так быстро
Штрих-тест с шестикратным курсом Eggman — это
просто новый бар, который вы всегда должны использовать
слева вместо функций стрелки барха
просто более короткая функция синтаксического обруча
но давайте вместо этого выводим номер
запустите это нормально 10, поэтому для обратного отсчета от
это функция , которая принимает число и
начинает обратный отсчет от и это
подсчитаны
что подсчет — вы берете число
скажите, тогда вы берете тот номер, который вы
просто сказал минус один, и вы говорите это и
так далее , пока вы бежите так
Теперь — один прогон , что почему спасибо
компьютер для подсчета до минус
15 000, если мы прокрутим назад
бесконечность ладно да где-то здесь ах
да, так что вы видите, что это работает, но
у нас нет никакого условия остановки, мы
собираюсь исправить это, но я хочу нарисовать
внимание к мелочи, которую он здесь назвал
при максимальном размере стека вызовов превышен
стек вызовов — это стек функции
вызывает ваш код и
большинство нефункциональных программ
языков есть верхний предел тому, как
далеко вы можете пойти функциональное программирование
языка никогда не было этого предела
потому что вы используете рекурсию для всего
и тогда у вас может быть этот предел
javascript имеет это ограничение в ACMA
сценарий 5, но он удален в Атме
сценарий 6, хотя Bobble не может
имитировать его, потому что это движок
и именно поэтому атмосфера 6 так
интересный из функционального
программирования, поскольку
устраняет одну из главных ограничений для
выполнение функционального программирования с помощью
JavaScript эта функция называется хвостом
оптимизация звонков, кстати, потому что
это большой хвост вызовов функций
добавим это условие остановки, если num 1 0
вернуть
правильно, так что он просто проходит время 10 9
8 7 3 2 1 и когда он блокирует 1 здесь
и здесь он перейдет к этой строке
а затем он займет номер 1 минус 1
и он будет 0 в счетчике от
который входит в это, это 0, теперь мы будем
см. это, и он вернется и, следовательно,
не будет идти до 0 и минус 1 и минус 2
и так далее до 60 минус 15 000 и
это рекурсия — функция, которая вызывает
сам, пока он не осветит нас
узнали , что такое рекурсия и
простой пример того, как это сделать, но все же
непонятно, зачем смотреть на пример
что мы только что сделали то, что могли бы
сделайте это с помощью только петли вправо и да
вы могли бы
каждый раз, когда вы делаете цикл, вы можете использовать
рекурсия, но она не работает
наоборот, потому что там
это не то, что рекурсия может сделать
петли не могут в первый раз использовать
рекурсия была, когда я столкнулся с
Проблема , которая выглядела немного как
это так, что у нас была база данных реляционная
базы данных, в которой были эти категории, поэтому
uh были верхние категории как это
категория животных здесь и верх
у категорий не было родителя, они
все сказали нет в корневых категориях в
животные есть такие категории, как
млекопитающих, если вы видите здесь, что
млекопитающие имеют животных как
родителя, и у нас есть категории, которые имеют
млекопитающих, как родители кошек собак и, в свою очередь,
есть Чихуахуа Лабрадор, который
собаки как кошка попугая
также кошки здесь персидские сиамцы, поэтому см.
что это то же самое здесь, персидский
подкатегории кошек в это время
было действительно здорово с этим
иерархическое меню BA dhtml, которое вы знаете
меню, которые работают как Windows
Меню «Пуск», в котором вы наведете папку и
когда вы делаете это, он расширяется в эту папку
и затем вы наведете подпапку, которая и
, который расширяется в новую подпапку и
поэтому я хотел представить это
базы данных, как это делается для того, чтобы
что мы должны сделать это в
просто древовидная структура переходит к dhtml
мы хотим, чтобы наряд, который выглядит
что-то вроде этого бума, так что это
Деревообразующие животные содержат другое
дерево с млекопитающими здесь и млекопитающие
содержит дерево с двумя свойствами
собак и кошек, а это, в свою очередь,
Чихуахуа и Лабрадор мы действительно не
нужны режимы здесь Я думаю ах и с тех пор
у них нет подкатегорий, они
просто у головы нет его комментариев
да, потому что это просто помнить
где мы идем, это , кстати ,
хороший трюк, когда вы программируете
всегда так всегда думать о том, что
что это ты делаешь, что мой конец
цель, а не только начало кода I
считают одним из наиболее распространенных и
ошибки в программировании — начать
кодирования слишком рано занять некоторое время , чтобы подумать
о вашей проблеме и о том, где вы находитесь
собираюсь в том , что сэкономит вам много
время прокрутки немного, и мы также
Я сделаю три категории:
О, ладно, я допустил ошибку в своем примере
данных , предполагается, что
массив сначала фигурные скобки, что хорошо
Ошибка здесь сделать дерево не забавно да мы
должны определить матрицу, чтобы сделать дерево
функция undefined
да, потому что убедитесь, что он не вернется
все так да, давайте начнем с
возвращая пустой объект, так что теперь мы хотим
начать назначать дополнительные свойства
здесь вы хотите создать этих животных
что нужно сделать, чтобы разбить это
в переменную, чтобы мы могли манипулировать нами
собираются назвать это больше, чем перезвонить
вне части, поэтому дерево на удержании отмечает в
информатикой мы получаем
мы отбираем их здесь
так как теперь мы будем фильтровать
cat слова массив ах мы ищем
верхнее тело ищет корень
элемент, так что теперь это будет
массив категорий, который имеет
родителей и нет, и в этот момент это
будет только будет это потому , что он имеет
отфильтровывали все остальные, потому что
они не имеют для каждой подкатегории мы
собираются взять идентификатор категории
который в этом случае в этом первом цикле
собираюсь быть животными здесь, так что идея здесь
животных, и мы собираемся назначить это
к узлу
это то же самое здесь, верно.
ах, и теперь он собирается получить
поддерево uh, и мы сделаем это
звоните, убедитесь, что вы рекурсивны, и это
получить те же самые категории можно
некоторые новые линии , но это не догонят
тот же самый родитель, который получит идентификатор c
хорошо, давайте побежим, что хорошо, может быть,
правильный результат, это немного грязно, позвольте мне
да это лучший тарик когда-нибудь json
stringify, а затем вы добавляете в качестве второго
аргумент для строки 5 вы выбираете no и
вы два и два — четыре в дивизиях и
теперь для волшебных вещей и идем теперь мы
иметь красивое дерево, и это в значительной степени
что мы хотим, мы все еще здесь с
объекты, но это не так
важно посмотрим, что именно
произошло так в первом цикле, когда мы
вызов сделать дерево, которое мы проходим
категории будут все
категорий, и мы собираемся фильтровать
их здесь я собираюсь отфильтровать
те , которые имеют один и тот же родитель , что это
тот, который мы проходим здесь
ах, и это то же самое, что и мы
прошел здесь, так что теперь это маршрут ах
и для каждой такой категории мы собираемся
для каждого из них и в этом для каждого это
понятно , что мы собираемся unsign недвижимость на
узел с тем же идентификатором, что и каждый
категорию с животными здесь вы можете
назначьте это животное узла здесь с помощью
вернуть ценность себя, но на этот раз
мы
не так, как меня называют родительской категорией, мы
здесь проходят животные, так что теперь мы
создают дерево с категориями
которые имеют животных как подход, и они
в свою очередь, потянет за собой дерево и сделает
деревья , у которых есть млекопитающие в качестве родителя
категории, и они, в свою очередь ,
дерево, где делают кошки и собаки
деревья, которые включают чихуахуа тщательно
и это может продолжаться и продолжаться
но это заканчивается, потому что заканчивается
вещи, чтобы сделать морозильник и определенную
вы можете сделать это с помощью петель
если вы вложены для циклов, например,
внешняя для цикла имеет I как целое число и
затем внутренний цикл для J, и вы идете
внутри и внутри, пока вы не закончите
согласных или здравомыслия, но это работает только
если это очень ограниченное количество гнездования
иногда вам нужно сделать деревья, которые
— сотый уровень сна, а затем вы
могут использовать использование, и это рекурсия мы
узнали, что рекурсия просто
функция, которая вызывает себя до тех пор, пока
разве мы не рассмотрели пример
как использовать его для подсчета из десяти и
мы рассмотрели пример того, почему вы
нужна рекурсия, почему вы не можете решить
все петли Я одна запись
это шоу, но именно аудитория
делает шоу, которое мне нужно услышать от вас
либо действовать mpj me на twitter или youtube
комментарий ниже комментария с
размышления или или вопрос или что-то
что вы смущены или что-то
смешно или приятно, или что бы вы хотели
следующий эпизод будет говорить о
которые не пропустите, что следующий эпизод
убедитесь, что подписались на этот канал
сделайте это сейчас или следуйте за мной в Twitter до тех пор, пока
следующий понедельник останется любопытным
Please follow and like us:

Be First to Comment

Добавить комментарий