В этом уроке я объясню, как работает рекурсия при решении многомерного массива.

представим, что мы хотим найти сумму этого массива:
[3, 5, [6], 7, [10, [9, 1]]]

  1. создайте переменную сумму и сделайте ее равной 0, чтобы у нас было место для сохранения суммы.
  2. в цикле for мы проверяем переменную по индексу, если это массив, если нет, мы суммируем число
    , когда индекс = 0, сумма + = 3, сумма = 3
    , когда индекс = 1, сумма + = 5, сумма = 8
  3. когда index = 2, это массив, мы запускаем новую функцию
    сумма внутри новой функции начинается с 0,
    index = 0, sum + = 6, sum = 6
    конец 1 цифры for-loop
    теперь мы возвращаем эту сумму = 6
    конец 1-й рекурсии
  4. мы выходим из рекурсии,
    беря 6, возвращаемые функцией
    , и складываем сумму, которую мы получили из индекса 1
    , так что теперь сумма будет 14
  5. когда index = 3, sum + = 7, sum = 21
  6. когда index = 4, это массив, рекурсия 1
    при index = 0, sum + = 10, sum = 10
  7. при индексе = 1, рекурсии 2
    при индексе = 0, сумме + = 9, сумме = 9
    при индексе = 1, сумме + = 1, сумме = 10
    конец массива, возврат суммы = 10
  8. захватывая 10 возврат из рекурсии 2
    и добавляем сумму, полученную из индекса 4, которая равна 10
    , поэтому сумма теперь будет 20
    конец массива, возврат 20
  9. добавить сумму, которую мы получили перед переходом к рекурсии, которая равна 21, с
    суммой, возвращаемой рекурсией, которая равна 20
  10. мы получили итоговую сумму = 41