Multidimensional array 11x11 in Pas2JS Model 2 - using SetLength

Top 

Example code : Multidimensional array 11x11 in Pas2JS Model 2 - using SetLength

var

  A1 : array of array of integer;

 

Begin  

A1.SetLength(11);                 //or SetLength(A1, 11);  form is not supported yet

for var Index := 0 to 10 do begin

    A1[Index].SetLength(11);     //or SetLength(A1[Index], 11): 

  for var j := 0 to 10 do

      A1[Index][j] := Index + j;

end;

 

for var i := A1.Low to A1.High do Begin

  for var j := A1.Low to A1.High do

    WriteLn(A1[i][j]);

end;

Result is:

-----------------------------------------------------------------------------------------------------

0        1        2        3        4        5        6        7        8        9        10

1        2        3        4        5        6        7        8        9        10        11

2        3        4        5        6        7        8        9        10        11        12

3        4        5        6        7        8        9        10        11        12        13

4        5        6        7        8        9        10        11        12        13        14

5        6        7        8        9        10        11        12        13        14        15

6        7        8        9        10        11        12        13        14        15        16

7        8        9        10        11        12        13        14        15        16        17

8        9        10        11        12        13        14        15        16        17        18

9        10        11        12        13        14        15        16        17        18        19

10        11        12        13        14        15        16        17        18        19        20

------------------------------------------------------------------------------------------------------

 

JS output:

      var A1 = [];

      var A2 = [];

      var Index = 0;

      var j$1 = 0;

      var i$3 = 0;

      var j$2 = 0;

      $ArraySetLenC(A1,11,function (){return []});

      for(Index = 0;Index<=10;Index++) {

         $ArraySetLen($DIdxR(A1,Index,""),11,0);

         for(j$1 = 0;j$1<=10;j$1++) {

            $DIdxW($DIdxR(A1,Index,""),j$1,Index+j$1,"");

         }

      }

      var $temp25;

      for(i$3 = 0,$temp25 = A1.length;i$3<$temp25;i$3++) {

         var $temp26;

         for(j$2 = 0,$temp26 = A1.length;j$2<$temp26;j$2++) {

            WriteLn($DIdxR($DIdxR(A1,i$3,""),j$2,""));

         }

      }