@Atheist21

Как определить максимальную вложенность массивов в массиве?

Написать функцию, которая определяет глубину самого глубокого вложенного массива в массиве.
Вернуть 1, если нет вложенных массивов. Массив, переданный вашей функции, может содержать любые типы данных.

Я новичок и пытаюсь разбирать задачи на рекурсию посложнее, написал такой код, но он проверяет количество массивов в массиве. Скажите как можно дополнить мой код, чтобы он проверял то, что требуется
function list_depth(arr) {
        let n = 1;
        for (i of arr) {
          if (Array.isArray(i)) {
            n += list_depth(i);
            console.log(n);
          }
        }
        return n;
      }
      console.log(list_depth([2.0, [2, 0], 3.7, [3, [1, 1], 7], 6.7, [6, 7]]));

И можно как-нибудь без объявления переменной n внутри функции?
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
const getMaxDepth = arr =>
  Array.isArray(arr)
    ? 1 + Math.max(0, ...arr.map(getMaxDepth))
    : 0;


console.log(getMaxDepth([ 1, [ 2 ], [ [ 3 ] ], [ [ [ 4 ] ] ] ])); // 4
console.log(getMaxDepth([])); // 1
console.log(getMaxDepth(666)); // 0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы