Saturday, September 28, 2019

Javascript two dimensional arrays




I have declared a two-dimensional array, like so:



a = [[]]


However, when I try to give a second dimension value using a first dimension index other than 0, it doesn't work:



a[1][0] = "foo" //returns error



Is there a better way around this than manually defining every index you need as an array, i.e.:



a[1] = [];
a[2] = [];
a[3] = [];
//et cetera

Answer



N-Dimensional arrays do not exist in javascript - you have to just make arrays containing arrays as elements.




You're getting an error because a = [[]]; declares an array with one element, which happens to also be an array. Therefore a[0] is the internal array, but a[1] does not exist because you never declared it. The easiest way to properly declare a "two dimensional array" would be to use a loop:



var outerArray = [];
var numInternalArrays = 5;
for (var i = 0; i < numInternalArrays; i++) {
outerArray[i] = [];
}

No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...