Как создать динамический c многомерный массив на основе заданного входного номера, чтобы каждый массив помещался в свой вложенный массив? - PullRequest
0 голосов
/ 27 января 2020

Я создал пустую строку и создал глубоко вложенный массив в виде строки «[[[]]]», затем применил к нему функцию eval, чтобы преобразовать его в массив. Есть ли лучший подход, чем то, что я сделал?

    var arrMulti="";
    var n = 3;
    for(var i=0; i<n; i++){
        arrMulti += '['
    }
    for(var i=0; i<n; i++){
        arrMulti += ']'
    }
    arrMulti = eval(arrMulti);
    [[[]]] // console.log(arrMulti);

1 Ответ

1 голос
/ 27 января 2020

Один из вариантов - создать массив длиной n - 1 и вызвать на нем reduce, создавая новый массив вокруг аккумулятора на каждой итерации:

var n = 3;
const arrMulti = new Array(n - 1).fill().reduce(a => [a], []);
console.log(arrMulti);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...