First of all, a stylistic suggestion. The following:
new Array(x, y, z)
can be expressed by the shortcut syntax:
[x, y, z]
This syntax makes it easier to express nested arrays, eg:
[x, y, [z1, z2, z3]]
Now that we've got that out of the way... there really a "right" answer for your question but one thing that occurs to me is that you will have an awful lot of nested arrays in play this way. If each "set" has a fixed number of items, what about putting them in one long array and then just doing the math to determine how to retrieve the value for a given x,y position within the array. Here's what I mean, take this example of three "sets" of three values:
[[a1, a2, a3], [b1, b2, b3], [c1, c2, c3]]
Instead of nesting them you could simply store them in a flat manner like this:
[a1, a2, a3, b1, b2, b3, c1, c2, c3]
Then when you want to retrieve a value for set 2 (zero-based it would be set "1") and value 3 (zero-based it would be value "2", you would simply access array[setIndex * 3 + valueIndex]
The other other thing I will say is that the structure should really be driven by the means with which you need to parse and scan through it. If you provide more information on those requirements, we could provide a better answer for you.