Я пытался создать 2D-массив в javascript, но не имел большого успеха. Я вытаскиваю некоторые данные из БД, и тогда я хочу объединить некоторые поля в 2D-массив, чтобы использовать его в другом месте кода. В идеале я хочу закончить вверх с:Создание 2D-массива в Javascript
mapLocs = [
['name a','location a',1],
['name b','location b',2],
['name c','location c',3]
]
вот код, я использую, чтобы построить mapLocs
массив:
for(i = 0;i < phtLen;i++){
var x = i + 1;
var myLocs = new Array(myPhotogs[i].phtName,myPhotogs[i].phtLoc,x);
console.log(myLocs);
mapLocs[i] = new Array(myLocs);
}
}
, который в значительной степени метод, который я собрал от чтения подобные проблемы здесь. console.log()
выводит массив, состоящий из трех элементов, которые я хочу, но если я попытаюсь получить доступ к mapLocs
, он, похоже, не состоит из трех массивов, как я и ожидал, но из трех элементов, каждый из которых состоит из трех элементов в массиве myLoc
, если это имеет смысл? Итак:
console.log(mapLocs[0][0]); // Joe Bloggs, SW1A 1AA, 1
, где я ожидал, что только 'Джо Пупкин' и
console.logs(mapLocs[0][1]); // undefined
Что я делаю неправильно?
Попробуйте изменить 'mapLocs [i] = new Array (myLocs);' to 'mapLocs [i] = myLocs;' –
Вы также можете попробовать 'mapLocs [i] = [myPhotogs [i] .phtName, myPhotogs [i ] .phtLoc, x + 1] ' – Rajesh
А! Блестящий, это работает! Спасибо огромное! – Drum