две вещи:
1) Свойство длина массива ненадлежащим образом отчеты длину массива, если после того, как названный вар MyArray = [[], []]; заявление. Технически, поскольку определены пустые массивы, они подсчитываются по свойству length, но в духе свойства length он действительно должен возвращать 0, потому что никакие непустые элементы не добавлены ни к одному из массивов.
Минимальная рабочая задача - использовать две вложенные петли (в), одну для 1-го массива и одну для второго массива, а также для подсчета не-неопределенных элементов.
2) Расширение примера Siamak A.Motlagh и добавление arr ([2] [4]) = 'Hi Mr.C'; присваивание не выполняется с помощью параметра «Неподключить TypeError: невозможно установить свойство 4« неопределенной »ошибки.
Смотрите jsFiddle: http://jsfiddle.net/howardb1/zq8oL2ds/
Вот копия этого кода:
var arr = [[],[]];
alert(arr.length); // wrong!
var c = 0;
for(var i in arr)
for(var j in arr[ i ])
if(arr[ i ][ j ] != undefined)
++c;
alert(c); // correct
arr[0][2] = 'Hi Mr.A';
alert(arr[0][2]);
arr[1][3] = 'Hi Mr.B';
alert(arr[1][3]);
arr[2][4] = 'Hi Mr.C'; // At this point I'm getting VM558:62 Uncaught TypeError: Cannot set property '4' of undefined
alert(arr[2][4]);
var c = 0;
for(var i in arr)
for(var j in arr[ i ])
if(arr[ i ][ j ] != undefined)
++c;
alert(c);
Почему третье назначение терпят неудачу? Как насчет оператора создания [[], []], он сказал, что первый массив действителен для 0 и 1, но не 2 или что 2 и 3 были одобрены для второго массива, но не 4?
Самое главное, как бы я определил массив в массиве, который мог бы хранить объекты даты в первом и втором массивах. Я использую jQuery-UI DatePicker, который ожидает массив дат, как и в объектах даты, который я расширил, чтобы использовать второй массив дат, чтобы содержать объекты даты, которые содержат время, поэтому я могу отслеживать несколько дат и несколько раз в день.
Спасибо.
дубликат: http://stackoverflow.com/questions/6495187/best-way-to-generate-empty-2d-array http://stackoverflow.com/questions/7521796/is-it-possible-to -create-a-empty-multimimensional-array-in-javascript-jquery и многие другие –
Я предположил, что 'var row_major = массив (высота) .map (function() {return Array (width);});' будет делать трюк, но, наконец, понадобился 2D-массив сегодня и обнаружил, что он этого не делает. Черт. –