【问题标题】:How to create a 4 dimensional array in javascript? [duplicate]如何在javascript中创建一个4维数组? [复制]
【发布时间】:2018-09-11 12:23:36
【问题描述】:

我正在使用量角器和 BDD。我想检查网站正文中的文本是否正确。我有三个下拉框,文本取决于这 3 个选项。

我将使用 getText() 从网站读取文本,并希望它与预期文本进行比较。这个预期的文本取决于三个下拉框的值和网站的部分,所以我需要创建一个 4D 数组。

如何声明数组并分配预期的文本?

我需要这样的东西:

template[0][2][1][0]='this is the expected text';

【问题讨论】:

  • var foo = [[[[]]]]
  • 高度、宽度、深度....时间?

标签: javascript arrays multidimensional-array protractor


【解决方案1】:

您可以编写可以为您提供嵌套数组列表的自定义代码。示例如下:

function nestedMatrix(n) {
  var total = 0, levels = n;
  function nestedMatrix(n) {
    var matrix = [];
    for (var i = 0; i < levels; i++) {
      matrix.push(n ? nestedMatrix(n - 1) : ++total);
    }
    return matrix;
  }
  return nestedMatrix(n)[0];
}

console.log(nestedMatrix(3));

【讨论】:

    【解决方案2】:

    我认为,如果您构造一个 JSON 并传递从下拉列表中获得的值并获得预期的文本,那会更容易。您可以查看以下示例:

    var array;
    for(var i=0; i<firstDimention.lentgh; i++){
        if (i == 0)
            array = {};
        for(var j=0; j<secondDimention.length; j++){
            // Initializing 2D Array
            if (j == 0)
                array[firstDimension[i]] = {};
            for(var k=0; k<thirdDimension.length; k++){
                // Initializing 3D Array
                if (k == 0)
                    array[firstDimension[i]][secondDimension[j]] = {}
                .....
            }
        }
    }
    

    如果您愿意,也可以使用相同的代码来初始化数组。

    【讨论】:

      猜你喜欢
      • 2012-01-15
      • 2011-04-11
      • 1970-01-01
      • 2012-01-14
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      相关资源
      最近更新 更多