У меня есть функция, которая создает массив подмассивов. Он принимает три параметра: количество подзадач, создаваемых в массиве (numSub
), количество раз, когда требуемое значение встречается в каждом подмассиве (numValue
), и требуемое значение (value
).
Например, если бы я вызвал функцию с (3, 2, test)
, я бы хотел получить следующий вывод:
Array [Array ["test", "test"], Array ["test", "test"], Array ["test", "test"]]
Вот функция, которую я написал:
function subarrs(numSub, numValue, value) {
let arr = [];
for (let i = 0; i < numSub; i++) {
arr.push([]);
}
arr.forEach(function(sub) {
sub.fill(value, 0, numValue - 1);
});
return arr;
}
console.log(subarrs(3, 2, 'test'));
Я перебрал переменную numSub
и вставил массив в arr
для каждой итерации. Это было успешно. (Array [Array [], Array [], Array []]
)
Затем я использую цикл forEach
, чтобы заполнить каждый подмассив value
, начиная с индекса 0
и заканчивая индексом numValue - 1
(потому что второе вхождение значения будет фактически в индексе 1.)
Однако эта функция не работает должным образом. Вместо вышеупомянутого желаемого результата я получаю это:
Array [Array [], Array [], Array []]