Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.12.2017, 20:12
Интересующийся
Отправить личное сообщение для AkezhanOb1 Посмотреть профиль Найти все сообщения от AkezhanOb1
 
Регистрация: 28.09.2017
Сообщений: 20

Как узнать скольки мерный массив
нужна узнать сколько dimention - ов в массиве
Ответить с цитированием
  #2 (permalink)  
Старый 31.12.2017, 20:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

AkezhanOb1,
"use strict"
   function fn(a)
   { let n = 1;
     while (a.length) {
        a = [].concat(...a).filter(Array.isArray)
        ++n
     }
     return n
   }
   console.log(fn([[[[[]]]],[[]]]));
Ответить с цитированием
  #3 (permalink)  
Старый 31.12.2017, 21:48
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

AkezhanOb1, ответ - нисколько, в js нет размерности массива, есть лишь массивы вложенные в массивах. Потому задача решается только полным перебором.
И всегда надо помнить о рекурсии. Например вариант рони умрёт(и, возможно, жестоко убьёт ваш браузер) на таком массиве:
"use strict"
   function fn(a)
   { let n = 1;
     while (a.length) {
        a = [].concat(...a).filter(Array.isArray)
        ++n
     }
     return n
   }
var a = [];
a[0] = a;
console.log(fn(a));
Не запускайте этот код. =)
__________________
29375, 35

Последний раз редактировалось Aetae, 31.12.2017 в 21:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать значение свойства modal у окна? khusamov ExtJS 1 11.05.2014 11:27
Как в шаблоне диррективы узнать массив это или строка? delias Angular.js 1 18.03.2014 07:33
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
как найти и удалить массив из массива? FRIE Общие вопросы Javascript 8 14.03.2011 15:48
как запихнуть в массив оператор ? mitiya Общие вопросы Javascript 2 09.02.2011 18:57