Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как узнать скольки мерный массив (https://javascript.ru/forum/misc/72025-kak-uznat-skolki-mernyjj-massiv.html)

AkezhanOb1 31.12.2017 20:12

Как узнать скольки мерный массив
 
нужна узнать сколько dimention - ов в массиве

рони 31.12.2017 20:49

AkezhanOb1,
"use strict"
   function fn(a)
   { let n = 1;
     while (a.length) {
        a = [].concat(...a).filter(Array.isArray)
        ++n
     }
     return n
   }
   console.log(fn([[[[[]]]],[[]]]));

Aetae 31.12.2017 21:48

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));
Не запускайте этот код. =)


Часовой пояс GMT +3, время: 02:51.