Я попытался создать 3-мерный массив и присвоить ему значение, основываясь на ответе здесь, создавая и анализируя 3D-массив в javascript? ,
var myArr = new Array(new Array(new Array()));
myArr[0][0][0] = "1";
myArr[0][0][1] = "2";
myArr[0][1][0] = "2";
myArr[0][1][1] = "2";
myArr[0][2][0] = "3";
myArr[0][2][1] = "4";
но я получаю это
Uncaught Typeerror: Невозможно установить propterty '0' undefined ".
Нужна помощь.
Спасибо
В javascript нет инициативных переменных, и шаг компиляции просто поднимает определения переменных и функций верхнего уровня, а в ES6 - статические импорт и экспорт (хотя это еще не поддерживается) [Patrick Roberts]. Еще один вариант
var myArr = new Array();
myArr[0] = new Array();
myArr[0][0] = new Array();
myArr[0][0][0] = "1";
myArr[0][0][1] = "2";
myArr[0][1] = new Array();
myArr[0][1][0] = "2";
myArr[0][1][1] = "2";
myArr[0][2] = new Array();
myArr[0][2][0] = "3";
myArr[0][2][1] = "4";
Вы можете сделать это (но создание 3d-массива в javascript - это более завершенный материал. Пожалуйста, подумайте об изменении вашего подхода к обработке данных):
var myArr = new Array();
myArr[0] = new Array();
myArr[0][0] = new Array();
myArr[0][0][0] = "1";
myArr[0][0][1] = "2";
myArr[0][1] = new Array();
myArr[0][1][0] = "2";
myArr[0][1][1] = "2";
myArr[0][2] = new Array();
myArr[0][2][0] = "3";
myArr[0][2][1] = "4";
console.log(myArr[0][2][0]);
var myArr = new Array(new Array(new Array()));
переводится вmyArr[0][0] = [ ]
что означает, что при попытке доступа кmyArr[0][1]
вы получаете неопределенный объект, поскольку фактически вы никогда не создавали массив с этим индексом.