EiEich,
В m[ i ] [ j ] второй атрибут 'j' меняется, а вот если i будет больше '0', то уже ошибка "Can not set property "0" or undefined"
естественно, вы строкой
const m = [[]]
создаёте массив, с объявленным нулевым элементом, в который присваивается пустой массив.
при i=1, ваш массив разложиться в такую конструкцию:
undefined[0]
Можно добавить m.push(i) при каждой итерации i
Но если заранее известен размер массива (величина i), то можно массив объявить так:
m = (new Array(10)).fill([]) // заменить число 10 на нужный размер