0

I'm trying to call an element in an array, that is in another array, that is in yet another array. for example....

  var a1 = ["1","2","3"];
  var a2 = ["4","5","6"];
  var a3 = ["7","8","9"];
  var a4 = ["10","11","12"];

  var b1 = ["a1","a2"];
  var b2 = ["a3","a4"];

  var c = ["b1","b2"];

  var x = c[0];

  console.log(x);

The answer is x = b1

How can I define the var x = c[0] b1[1] a2[2] so that the answer would be 6?

CrazyCasta
  • 26,917
  • 4
  • 45
  • 72
William Smith
  • 822
  • 1
  • 10
  • 23

4 Answers4

0

define the arrays as elements of the other arrays, rather than strings:

var a1 = [1, 2, 3];
...
var b1 = [a1, a2];
...
var c = [b1, b2];

var x = c[0][0][0]; // 1
jbabey
  • 45,965
  • 12
  • 71
  • 94
0

The array a1 isn't actually in b1 — there's just a string containing the text "a1". If you defined them like so:

var a1 = ["1","2","3"];
var a2 = ["4","5","6"];
var a3 = ["7","8","9"];
var a4 = ["10","11","12"];

var b1 = [a1, a2];
var b2 = [a3, a4];

var c = [b1, b2];

Then you could get "6" by writing c[0][1][2].

Chuck
  • 234,037
  • 30
  • 302
  • 389
0

What you want are nested arrays.

var a1 = ["1","2","3"];
var a2 = ["4","5","6"];
var a3 = ["7","8","9"];
var a4 = ["10","11","12"];

var b1 = [a1,a2];
var b2 = [a3,a4];

var c = [b1,b2];

var x = c[0][1][2];

console.log(x);
saml
  • 6,702
  • 1
  • 34
  • 30
0
var a1 = ["1","2","3"], a2 = ["4","5","6"], a3 = ["7","8","9"], a4 = ["10","11","12"];
var b1 = [a1,a2];
var b2 = [a3,a4];
var c = [b1,b2];

var x1 = c[0][0][0];
var x2 = c[0][0][1];
var x3 = c[0][0][2];

console.log(x1); //1 (1st/0 item of a1) from c
console.log(x2); //2 (2nd/1 item of a1) from c
console.log(x3); //3 (3rd/2 item of a1) from c

DEMO.

The Alpha
  • 143,660
  • 29
  • 287
  • 307