在 Javascript 中创建乘法 table 作为多维数组

Create a multiplication table as a multidimensional array in Javascript

我正在尝试创建一个函数,其中 returns 乘法 table 作为二维数组,当传递该乘法 table 的维度作为函数的参数时.

例如:

multiplicationTable(2, 2); //returns [[1, 2], [2, 4]]
multiplicationTable(3, 4); //returns [[1, 2, 3, 4], [2, 4, 6, 8,], [3, 6, 9, 14]]

我从根本上试图理解如何创建一个多维数组,其中每个维度的属性由给定变量决定。对所用过程的任何解释将不胜感激。

干杯!

I think that you have an error in the second example, the last number must be 12 instead 14

您需要创建一个 loop 嵌套在另一个 loop 中,请看下一个代码:

function multiplicationTable(groups, indexes){

  var array = [];
  var g;
  var i;

  //---Loop for the groups
  for(g = 0; g < groups; g++){

    //---Create multidimensional array
    array[g] = [];

    //---Loop for the indexes of the each group
    for(i = 0; i < indexes; i++){

      array[g][i] = (g + 1) * (i + 1);

    }

  }

  return array;

}

然后就可以调用函数了:

multiplicationTable(2, 2);
//  [[1,2],[2,4]]

multiplicationTable(3, 4);
//  [[1,2,3,4],[2,4,6,8],[3,6,9,12]]

jsfiddle